|
|
Línia 1: |
Línia 1: |
− | '''Introducció'''
| |
| | | |
− | La Whitecat ESP32 N1 (https://whitecatboard.org/) és una placa de prototipat desenvolupada al Citilab (https://www.citilab.eu/) de Cornellà basada en el chip ESP32 de Espressif i el mòdul LoRa RFM95 de HopeRF.
| |
− |
| |
− | [[Fitxer:Whitecatn1-mini.png|center]]
| |
− |
| |
− | La placa es pot connectar fàcilment a una placa de prototipat (''breadboard'') o es pot fer servir la ''carrier'' que venen ells mateixos i que disposa de sortides per cada GPIO a més d'específiques per I2C o SPI.
| |
− |
| |
− | '''Requeriments'''
| |
− |
| |
− | La Whitecat ESP32 N1 es programa des del navegador. Per disposar de l'entorn funcional caldrà:
| |
− |
| |
− | * Disposar d'una versió actual de Google Chrome (només funciona amb aquest navegador, de moment)
| |
− | * Instal·lar el Whitecat Agent (veure instruccions aquí: https://github.com/whitecatboard/whitecat-create-agent/wiki)
| |
− | * Optionalment (recomanat) actualitzar el firmware amb la utilitat wcc (veure instruccions aquí: https://github.com/whitecatboard/whitecat-console)
| |
− |
| |
− | Un cop fet farem doble click a la icona del Whitecat Agent que es quedarà a la safata d'inici. Des de l'agent es pot obrir l'IDE en el navegador. Si tinguèssim un altre navegador per defecte que no fos Google Chrome haurem d'obrir aquest últim a mà i navegar a https://ide.whitecatboard.org on ens demanarà logar-nos fent servir el nostre compte de Google i ens obrirà l'entorn de programació.
| |
− |
| |
− | L'entorn de programació és ne realitat dos entorn: un de blocs basat en Blockly (https://developers.google.com/blockly/) i un de text per programar la placa en Lua.
| |
− |
| |
− | '''Mode blocks'''
| |
− |
| |
− | En el mode blocs tindrem una sèrie de blocs ja predefinits agrupats per temàtica (events, control, operadors, llistes,...). També inclou un munt de sensors predefinits i també connectivitat (WiFi, LoRa, MQTT). Alguns dels blocs són de configuració (no tenen representació visual) com per exemple el que ens permet definir l'SSID i la clau de la WiFi a la que volem que es connecti.
| |
− |
| |
− | [[Fitxer:Wcb blocks.jpg|300px|center]]
| |
− |
| |
− | '''Programació amb Lua'''
| |
− |
| |
− | L'entorn de programació Lua et permet un control més detallat del teu codi.
| |
− |
| |
− | <pre>
| |
− | function init()
| |
− | lora.attach(lora.BAND868)
| |
− | lora.setAppEui("0000000000000000")
| |
− | lora.setAppKey("00000000000000000000000000000000")
| |
− | lora.setDr(0)
| |
− | lora.setAdr(false)
| |
− | lora.join(lora.OTAA)
| |
− | end
| |
− |
| |
− | function send(counter)
| |
− | lora.tx(true, 1, pack.pack(counter))
| |
− | end
| |
− |
| |
− | function sleep(n)
| |
− | local t = os.clock()
| |
− | while os.clock() - t <= n do
| |
− | -- nothing
| |
− | end
| |
− | end
| |
− |
| |
− | init()
| |
− | local counter = 0
| |
− | while(true) do
| |
− | send(counter)
| |
− | counter = counter + 1
| |
− | sleep(60)
| |
− | end
| |
− | </pre>
| |