Outils pour utilisateurs

Outils du site


smartcitizen_hardware_software

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
smartcitizen_hardware_software [2020/11/09 23:46] – [Communication série - usb] Benjamin Labomediasmartcitizen_hardware_software [2023/12/04 20:11] (Version actuelle) – [Documentation - références] Benjamin Labomedia
Ligne 1: Ligne 1:
- 
 ====== SmartCitizen kit - software ====== ====== SmartCitizen kit - software ======
 Approche logicielle pour, par exemple, extraire des données directement depuis le kit, suivre son fonctionnement, ... Approche logicielle pour, par exemple, extraire des données directement depuis le kit, suivre son fonctionnement, ...
  
 +===== Quelques opérations d'installation et de (re)configurations =====
 +  * [[http://docs.smartcitizen.me/Smart%20Citizen%20Kit/#operation-modes|Operation modes]] Savoir ce que raconte la LED qui clignote
 +  * [[http://docs.smartcitizen.me/Troubleshooting/#factory-reset-your-kit|Factory reset your kit]]
 +  * [[https://developer.smartcitizen.me/|Utiliser l'API web du projet]]
 +  * [[https://docs.smartcitizen.me/Guides/getting%20started/Getting%20firmware%20information/|Getting firmware information]]
 +
 +{{ ::smartcitizen_48439505516_d210ce2c8a_h.jpg |}}
 +
 +===== Envoyer les données du SmartCitizen Kit sur un broker mqtt local =====
 +Mqtt (Message Queuing Telemetry Transport2) est un protocole de messagerie basé sur le protocole TCP/IP, Il est conçu pour les connexions avec des sites distants où la bande passante du réseau est limitée. C'est un protocole couramment utilisé pour "l'internet des objets", il y a des clients, serveurs (on dit broker) et des librairies pour toutes les plateformes.
 +
 +Par défaut l'adresse du serveur mqtt qui reçoit les données est celui associé au projet de kit, soit mqtt.smartcitizen.me, elle est inscrite dans le firmware, il est possible de la changer pour l'adresse de serveur mqtt que l'on aurait installé en local par exemple ou de faire une feinte dns
 +
 +  * Voir [[https://forum.smartcitizen.me/t/update-firmware-to-use-mqtt-broker/1211/2|les possibilités évoquées sur le forum]] et le fait d'éditer le Firmware pour changer le serveur mqtt 
 +  * [[https://github.com/fablabbcn/smartcitizen-kit-21|Le github du sdk smartcitizen 2.1]] 
 +
 +Il est aussi possible de récupérer les données en temps réel via la communication série, en bash ou en python pour ensuite envoyer des messages que broker avec un client linux ou python, voir les [[https://docs.smartcitizen.me/Guides/Using%20the%20Shell/#advanced-but-cool-example|exemples avancés]]
  
 ===== Communication série - usb ===== ===== Communication série - usb =====
Ligne 75: Ligne 91:
   SCK > config -wifi "NEWSSID" "NEWPASSWORD"   SCK > config -wifi "NEWSSID" "NEWPASSWORD"
  
-[[https://docs.smartcitizen.me/Guides/Using%20the%20Shell/#some-examples|D'autres exemples]] sur la page de la documentation+[[https://docs.smartcitizen.me/Guides/getting%20started/Using%20the%20Shell/#some-examples|D'autres exemples]] sur la page de la documentation
  
      
Ligne 83: Ligne 99:
  
  
-===== Envoyer les données du SmartCitizen Kit sur un broquer mqtt local ===== 
-Par défaut l'adresse du serveur mqtt qui reçoit les données est celui associé au projet de kit, soit mqtt.smartcitizen.me, elle est inscrite dans le firmware, il est possible de la changer pour l'adresse de serveur mqtt que l'on aurait installé en local par exemple ou de faire une feinte dns 
  
-  * Voir [[https://forum.smartcitizen.me/t/update-firmware-to-use-mqtt-broker/1211/2|les possibilités évoquées sur le forum]] et le fait d'éditer le Firmware pour changer le serveur mqtt  +====== Update le firmware ====== 
-  * [[https://github.com/fablabbcn/smartcitizen-kit-21|Le github du sdk smartcitizen 2.1]] +Je vois sur le git que le [commit](https://github.com/fablabbcn/smartcitizen-kit-21/commit/6175bbd36a58396ddd0e23f6d506b8e68ee52d1d#diff-a4aa37ea2506e59b71a026f1398add2782975f525043325e664462eb559e7ae3) : permet de configurer les broker MQTT via la console. 
 +Je me met donc sur la voie du firmware flashing de mon smartcitizen kit. 
 + 
 +<markdown> 
 +``` bash 
 +git clone https://github.com/fablabbcn/smartcitizen-kit-21.git 
 +git submodule init 
 +git submodule update 
 +pip3 install pyserial platformio 
 +python3 make.py build sam esp 
 +``` 
 +</markdown> 
 + 
 +Double clic sur le bouton reset, la LED passe au vert. 
 +<markdown> 
 +``` bash 
 +python3 make.py flash sam 
 +``` 
 +</markdown> 
 + 
 +En "red led" mode, lors du flash la led passe en blanc. 
 +Pour le flash de l'ESP, il peut etre possible que cela fail. Il faut insister. 
 +<markdown> 
 +``` bash 
 +python3 make.py flash esp 
 +``` 
 +</markdown> 
 + 
 +Configuration du kit via la console : 
 +<markdown> 
 +``` bash 
 +config -mode network -token fooMbd -wifi "SSID" "PASSWORD" 
 +mqttsrv -host mqtt.mby.fr -port 1883 
 +hello 
 +``` 
 +</markdown> 
 + 
 +Vérification que le kit publie bien sur notre serveur MQTT : 
 +<markdown> 
 +``` bash 
 +mosquitto_sub -h mqtt.mby.fr -v -t "device/sck/foombd/#" 
 +``` 
 +</markdown> 
 + 
 +{{ ::screenshot_from_2021-04-04_22-23-15.png?nolink&1024 |}} 
 + 
 +BINGO, les données arrivent sur le serveur MQTT. Il ne reste plus qu'a ecrire un petit démon pour convertir le format smartcitizen raw au format LPP. 
 + 
 +Exemple : 
 + 
 +2021-04-04T20:26:14Z 
 +Temperature: 20.78 C 
 +Humidity: 47.08 % 
 +Battery: 99 % 
 +Light: 96 Lux 
 +Noise dBA: 33.85 dBA 
 +Barometric pressure: 100.85 kPa 
 +VOC Gas CCS811: 112.00 ppb 
 +eCO2 Gas CCS811: 1137.00 ppm 
 + 
 +=> device/sck/foombd/readings/raw  
 + 
 +{t:2021-04-04T20:25:14Z,10:99,14:97,55:20.77,56:47.03,53:51.17,58:100.86,113:101.00,112:1068.00,89:6,87:6,88:6} 
 + 
 +=> device/sck/foombd/readings/raw  
 + 
 +{t:2021-04-04T20:26:14Z,10:99,14:96,55:20.80,56:47.14,53:33.85,58:100.85,113:112.00,112:1137.00} 
 + 
 +Attention, il manque certaines valeurs de certains capteurs de temps en temps, car la fréquence de capture et d'envoi des données n'est pas la même. 
 ====== Documentation - références ====== ====== Documentation - références ======
  
-* [[https://docs.smartcitizen.me/Guides/Using%20the%20Shell/|Communiquer avec le shell]] en usb avec le kit+  * [[http://docs.smartcitizen.me/|Base de la documentation]] 
 +  * [[https://docs.smartcitizen.me/Guides/getting%20started/Using%20the%20Shell/|Communiquer avec le shell]] en usb avec le kit 
  
  
  
-{{tag>bj smartcitizen arduino capteurs}}+{{tag>bj max smartcitizen arduino capteurs}}
  
  
  
smartcitizen_hardware_software.1604965590.txt.gz · Dernière modification : 2020/11/09 23:46 de Benjamin Labomedia