Diferència entre revisions de la pàgina «Whitecat ESP32 N1»

De The Things Network Catalunya Wiki
Jump to navigation Jump to search
(Es crea la pàgina amb «'''Introducció''' La Whitecat ESP32 N1 (https://whitecatboard.org/) és una placa de prototipat desenvolupada al Citilab (https://www.citilab.eu/) de Cornellà basad...».)
 
Línia 26: Línia 26:
  
 
'''Programació amb Lua'''
 
'''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>

Revisió del 19:49, 24 gen 2018

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.

Whitecatn1-mini.png

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à:

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.

Wcb blocks.jpg

Programació amb Lua

L'entorn de programació Lua et permet un control més detallat del teu codi.

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