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-source Open hardware Open software Open documentation GitHub Eagle Licence Hardware: CERN OHL v1.2 Software: MIT License Texts, pictures: CC BY-SA 4.0 Komunita Sdí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
Technologie 868 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é knihovny Python JavaScript
Praktické intermezzo III
Ukázka v JavaScriptu var 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
Otázky? Děkuji za pozornost Martin Malý, BigClown Labs martin.maly@bigclown.com