prezentace pro učitel in 2016
TRANSCRIPT
Internet věcí do škol!
Martin Malý
BigClown Labs, s.r.o.
Co vás dnes čeká?
Proč učit elektroniku?
Co je Internet věcí a proč se o něj zajímat ve škole?
Jaké jsou dostupné platformy?
Praktická ukázka: EduShield
Stavebnicový systém BigClown
Od ideje k hotovému zařízení: Měříme, ovládáme
Otázky a odpovědi
Vytvářet elektroniku je skvělé!
Není to složité
Výsledky jsou přitažlivé
Výsledky mohou být i užitečné
Učení hrou
Využití v dalším životě a studiu
Internet věcí letem světem
Hype, hype, hype…
Spojuje internet a elektroniku
Makro- i mikropohled
Příznivá křivka učení
Platformy pro IoT
Arduino
Raspberry Pi
STM32 a spol.
Proprietární platformy
Softwarové platformy
Arduino (Wiring)
Linux (Python)
ARM (C / RTOS)
Proprietární platformy
Cloud (AWS, Amazon)
Vlastní servery
Raspberry Pi
Minipočítač s Linuxem
Procesor ARM
Ethernet, USB, HDMI, audio
Konektor pro připojení vlastního HW
Programovací jazyky standardní: C/C++, Python, JavaScript, …
Pro výuku nejmenší vstupní bariéra, ale relativně málo možností rozšíření
Arduino a věci okolo
Programovací jazyk Wiring (podobný C++)
Procesor ATMega
Žádný OS, "holý křemík"
Velká podpora výrobců periferií
Robotika, 3D tisk
K vývoji je potřeba PC, není nezbytné pájení
Nízká cena
Ostatní platformy a kity
Microchip PIC
STM32
Větší výkon než Arduino, menší než Raspberry
Devkity vyžadují pokročilejší techniky (pájení)
Na čem učit?
Pájet, nebo nepájet?
Kolik teorie je potřeba?
Nám se osvědčilo:
Nepájet!
Nesestavovat vlastní obvody (chyby!)
Postupovat od příkladu k teorii
Je jedno, že nevíte, co je přesně napětí a proud!
Dělejte věci pro radost!
Praktické intermezzo I
EduShield
arduino101.cz
CZ.NIC
Vhodný pro demonstraci základů i pokročilých technik
Nic se nepájí, nic se nespojuje
Kompatibilní s Ethernet Shieldem
Vhodné pro 12+
Metodické materiály
BigClown
Open-sourceOpen hardware
Open software
Open documentation
GitHub
Eagle
LicenceHardware: CERN OHL v1.2
Software: MIT License
Texts, pictures: CC BY-SA 4.0
KomunitaSdílení know-how
Sdílení projektů
Podpora uživatelů
Bezpečnost DIY IoT Security Manifesto
Efficient Node-Gateway-Hub protocol
Message encryption and authentication by OCB-AES128
Session authentication by TRNG and SHA-256
Shared secret for session authentication is stored in crypto element with a protected hardware-based key storage chip
Technologie868 MHz (EU) / 915 MHz
(USA)
Publish / Subscribe - MQTT
{“data”:”JSON”}
ARM Cortex M0+
I2C, SPI, UART, USB, ADC, DAC, GPIO
GCC ARM Embedded
Linux Hub
Python, Node.js, Go
AWS IoT / Azure IoT Hub / REST
BigClown System Scheme
BigClown Territory
BigClown Node
Praktické intermezzo II
Clown.Dashboard
BigClown Alpha Set
Připojuje se přímo k PC / Raspberry Pi
Skládačka modulů a tagů
Součást ekosystému BigClown (snadný upgrade)
Kvalitní senzory
Komunikace postavená na standardech
Standard MQTT
Standard JSON
["humidity-sensor/i2c0-5f", {"relative-humidity": [39.8, "%"]}]
["humidity-sensor/i2c1-5f", {"relative-humidity": [37.9, "%"]}]
["barometer/i2c1-60", {"pressure": [97.591, "kPa"], "altitude": [315.9, "m"]}]
["thermometer/i2c0-48", {"temperature": [23.44, "°C"]}]
["lux-meter/i2c1-44", {"illuminance": [60.72, "lux"]}]
["lux-meter/i2c0-44", {"illuminance": [195.68, "lux"]}]
Senzory a aktuátory
Temperature Tag
Lux-Meter Tag
Humidity Tag
Barometer Tag
Relay Module
CO2 Module
Display Module
PIR Module
NFC Tag
Software
Docker - Windows, Mac, Linux, Raspberry Pi
Hub (C, Python)
MQTT broker (Mosquitto)
Uživatelské knihovnyPython
JavaScript
Praktické intermezzo III
Ukázka v JavaScriptuvar mqtt = require('mqtt');var client = mqtt.connect('mqtt://192.168.0.49'); client.on('connect', function () { client.subscribe('nodes/bridge/0/thermometer/i2c0-48');})
client.on('message', function (topic, message) { var payload = JSON.parse(message.toString()); console.log(topic,payload.temperature[0]); var temperature = parseFloat(payload.temperature[0]); if (temperature>30.0) { client.publish("nodes/bridge/0/relay/i2c0-3b/set",'{"state":false}'); } else { client.publish("nodes/bridge/0/relay/i2c0-3b/set",'{"state":true}'); }})
Blynk