Differences

This shows you the differences between two versions of the page.

Link to this comparison view

priot:laboratoare:06 [2024/11/13 14:19]
cristian.contasel [Vizualizarea Datelor]
priot:laboratoare:06 [2024/11/19 02:49] (current)
alexandru.bala [Exemplu de cod pentru Abonare pe Laptop utilizând paho-mqtt]
Line 87: Line 87:
 </​code>​ </​code>​
  
-====Trimiterea și Recepționarea Mesajelor „Hello World” folosind MQTT====+===== Trimiterea și Recepționarea Mesajelor „Hello World” folosind MQTT =====
  
 Pentru a trimite și primi mesaje „Hello World” folosind MQTT, vom folosi `umqtt` pentru publicare pe Raspberry Pi și `paho-mqtt` pentru abonare pe laptop. Pentru a trimite și primi mesaje „Hello World” folosind MQTT, vom folosi `umqtt` pentru publicare pe Raspberry Pi și `paho-mqtt` pentru abonare pe laptop.
-===Cod pentru Publicare pe Raspberry Pi (umqtt)=== + 
-<code hello.py>​+==== Exemplu de cod pentru Publicare pe Raspberry Pi utilizând ​umqtt ==== 
 +<​code ​python ​hello.py>​
 import network import network
 import time import time
Line 99: Line 100:
 password = '​Parola_Retelei'​ password = '​Parola_Retelei'​
 mqtt_server = '​IP-ul_Brokerului'​ mqtt_server = '​IP-ul_Brokerului'​
-topic = b"​test/​topic"​+topic = "​test/​topic"​
 client_id = "​pico_publisher"​ client_id = "​pico_publisher"​
  
Line 121: Line 122:
 </​code>​ </​code>​
  
-===Cod pentru Abonare pe Laptop ​(paho-mqtt)=== +==== Exemplu de cod pentru Abonare pe Laptop ​utilizând ​paho-mqtt ​==== 
-<code subscribe.py>​+<​code ​python ​subscribe.py>​
 from paho.mqtt import client as mqtt_client from paho.mqtt import client as mqtt_client
  
Line 147: Line 148:
 </​code>​ </​code>​
  
-====Interacțiunea cu platforma Nordic Thingy:​52====+<​note>​In case you experience issues with Paho MQTT Client Callback Version, try the following approach: 
 +<​code>​ 
 +client ​mqtt_client.Client(client_id ​client_id, callback_api_version ​mqtt_client.CallbackAPIVersion.VERSION1) 
 +</​code>​ 
 +</​note>​ 
 + 
 +===== Comunicații BLE - platforma Nordic Thingy:​52 ​====== 
  
 Acest ghid vă oferă un punct de pornire pentru conectarea și utilizarea dispozitivului Nordic Thingy:52. Acest ghid vă oferă un punct de pornire pentru conectarea și utilizarea dispozitivului Nordic Thingy:52.
Line 157: Line 164:
 Instrucțiunile de mai jos acoperă configurarea BLE și utilizarea uneltelor software de la Nordic. Instrucțiunile de mai jos acoperă configurarea BLE și utilizarea uneltelor software de la Nordic.
  
-===Cerințe:===+== Echipamente necesare: ==
  
   * Dispozitiv **Nordic Thingy:52**   * Dispozitiv **Nordic Thingy:52**
   * **Smartphone sau computer** cu suport Bluetooth   * **Smartphone sau computer** cu suport Bluetooth
   * **Aplicația nRF Connect** (disponibilă pentru iOS, Android, Windows, MacOS și Linux)   * **Aplicația nRF Connect** (disponibilă pentru iOS, Android, Windows, MacOS și Linux)
-  * **SDK Nordic Thingy:52** (opțional, ​când intenționați să programați dispozitivul) +  * **SDK Nordic Thingy:52** (opțional, ​utilizat pentru programarea în mod custom a dispozitivului) - nu este în scopul laboratorului
- +
-===Porniți Thingy:​52=== +
- +
-Apăsați butonul de pornire de pe Thingy:​52.\\ +
-LED-ul ar trebui să înceapă să clipească, indicând că dispozitivul ​este gata de conectare prin BLE.+
  
-===Conectare prin Aplicația nRF Connect===+== Etape: ​== 
 +== 1. Porniți Thingy:​52 ​==
  
-Descărcați și instalați aplicația nRF Connect ​pe smartphone ([[https://​play.google.com/​store/​apps/​details?​id=no.nordicsemi.android.mcp&​hl=en|nRF-Connect-for-Android]] or [[https://​apps.apple.com/​us/​app/​nrf-connect-for-mobile/​id1054362403|nRF-Connect-for-iPhone]]) sau computer ([[https://​www.nordicsemi.com/​Products/​Development-tools/​nRF-Connect-for-Desktop|nRF-Connect-for-Desktop]]).\\ +<note tip>Apăsați butonul de pornire de pe Thingy:52.\\ 
-Deschideți aplicația și asigurați-vă că Bluetooth-ul este activat.\\ +LED-ul ar trebui să înceapă să clipească, indicând că dispozitivul este gata de conectare ​prin BLE.</​note>​
-În nRF Connect, scanați dispozitivele disponibile.\\ +
-Thingy:​52 ​ar trebui să apară în listă cu un nume asemănător cu Thingy.\\ +
-Selectați Thingy:52 pentru a vă conecta. După conectare, veți putea vedea serviciile și caracteristicile acestuia.\\+
  
-===Accesarea Senzorilor și Funcțiilor===+== 2. Conectarea la dispozitiv ​=
 +<note tip> 
 +  - Descărcați și instalați aplicația nRF Connect: 
 +    * pentru smartphone - [[https://​play.google.com/​store/​apps/​details?​id=no.nordicsemi.android.mcp&​hl=en|nRF-Connect-for-Android]] or [[https://​apps.apple.com/​us/​app/​nrf-connect-for-mobile/​id1054362403|nRF-Connect-for-iPhone]])  
 +    * pentru computer ([[https://​www.nordicsemi.com/​Products/​Development-tools/​nRF-Connect-for-Desktop|nRF-Connect-for-Desktop]]).\\ 
 +  - Deschideți aplicația și asigurați-vă că Bluetooth-ul este activat și aplicația are acordate permisiunile necesare utilizării Bluetooth.\\ 
 +  - În aplicația **nRF Connect**, scanați dispozitivele disponibile.\\ 
 +  - Thingy:52 ar trebui să apară în listă cu un nume asemănător cu Thingy.\\ 
 +  - Selectați Thingy:52 pentru a vă conecta.  
 +  - După conectare, veți putea vedea serviciile și caracteristicile acestuia.\\ 
 +</​note>​  
 +== 3. Accesarea Senzorilor și Funcțiilor ==
  
-Odată ce Thingy:52 este conectat, puteți începe să accesați senzorii și funcțiile sale prin aplicația nRF Connect sau programatic ​prin BLE.+Odată ce Thingy:52 este conectat, puteți începe să accesați senzorii și funcțiile sale prin aplicația nRF Connect sau dezvoltând o aplicație proprie capabilă să comunice ​prin BLE.
  
   * **Senzorii de Mediu**:   * **Senzorii de Mediu**:
Line 194: Line 205:
  
  
-===Opriți Thingy:52===+== 4. Opriți Thingy:52 ==
 Pentru a opri Thingy:52, apăsați și țineți apăsat butonul de pornire până când LED-ul se stinge. Pentru a opri Thingy:52, apăsați și țineți apăsat butonul de pornire până când LED-ul se stinge.
  
  
-====Exercitii==== +===== Exercitii ​===== 
-Exercitiile aceastea se ruleaza ​pe Raspberry Pi Pico, intr-un setup similar cu ce am avut si laboratoarele trecute+<note warning>​**Nu incercati exercitiile ​pe Thingy:​52**</​note>​
  
-<note important>​Nu incercati exercitiile pe Thingy:​52</​note>​ 
  
-===Exercitiu ​1:=== +<​note>​**Task 0:** Exercitiile de mai jos se bazează pe implementarea bazată pe Raspberry Pi Pico. Setup-ul este similar celui din laboratorul precedent. 
-Configurați un topic nou, cum ar fi `senzori/​temperatura`,​ și modificați codul pentru a trimite valori de temperatură. +  * //Etapa 1// - porniți Mosquitto cu configurarea realizata anterior: 
-===Exercitiu ​2:=== +   <​code bash>​mosquitto -v -c "​C:​\Program Files\mosquitto\mosquitto.conf"​ </​code>​ 
-Testați trimiterea și recepția datelor prin MQTT. +  * //Etapa 2// - rulați pe Raspberry Pi Pico codul **hello.py** 
-===Exercitiu ​3:=== +  * //Etapa 3// - rulați pe computer utilizând Python codul **subscribe.py** 
-Vizualizați datele primite de la senzor ​într-un grafic folosind Matplotlib.+</​note>​ 
 +<​note>​**Task ​1:** 
 +Configurați un topic nou, cum ar fi `senzori/​temperatura`,​ și modificați codul de Raspberry Pi Pico pentru a trimite valori ​preluate ​de la senzorul ​temperatură. 
 +</​note>​ 
 +<​note>​**Task ​2:** 
 +Testați trimiterea și recepția datelor prin MQTT folosind utilitarul **mosquitto_sub** ​ 
 +</​note>​ 
 +<​note>​**Task ​3:** 
 +Modificați codul de subscriber prezentat în cadrul **subscribe.py** pentru a vizualiza ​datele primite de la Raspberry Pi Pico într-un grafic folosind ​librăria ​Matplotlib.</​note>​
priot/laboratoare/06.1731500354.txt.gz · Last modified: 2024/11/13 14:19 by cristian.contasel
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0