This is an old revision of the document!


Laboratorul 03. Wi-Fi, NimBLE

În laboratorul de astăzi vom configura smartwatch-ul Hacktorwatch să acceseze internetul prin intermediul Wi-Fi-ului (denumit station mode), iar prin NimBLE (o biblioteca care implementeaza BLE - Bluetooth Low Energy) vom trimite date si alerte legat de starea bateriei catre smartphone.

Wi-Fi

Plăcile Esp32 încorporează un modul RF (Radio Frequency) prin intermediul căruia dispun de Wi-Fi, Bluetooth și BLE (Bluetooth Low Energy). Deoarece toate cele trei tehnologii funcționează la frecvența de 2.4GHz, nu putem să primim și să trimitem date în același timp și pe Wi-Fi și prin Bluetooth. Pentru a fi posibil acest lucru, se folosește time-division multiplexing, insa momentan acest feature nu este integrat in NuttX.

În comunicația prin Wi-Fi, un device poate să aibă unul dintre rolurile de mai jos:

  • Router - definește o nouă rețea.
  • Access Point - un device care face parte dintr-o rețea, se conectează la router, dar este folosit pentru a crea subrețele.
  • Station - un simplu device conectat în rețea.

Un smartphone funcționeaza ca un access point atunci când este configurat hotspot-ul.

În NuttX, Esp32 poate rula atât ca un station, cât și ca un access point (software access point - SoftAP - deoarece managementul comunicației se întâmplă în cadrul sistemului de operare, nu în hardware). Cu toate acestea,

Pentru a putea conecta smartwatch-ul la o rețea Wi-Fi existentă identificată prin <myssid>:<mypasswd>, se pot folosi comenzile de mai jos:

ifup wlan0
wapi psk wlan0 <mypasswd> 3
wapi essid wlan0 <myssid> 1
renew wlan0

wapi psk este folosit pentru a specifica nivelul de securitate minim pe care rețeaua trebuie să îl îndeplinească, precum și algoritmul de criptare - în cazul de față, se folosește WPA2 și algoritmul CCMP. În total, există patru niveluri de securitate, iar în NuttX sunt suportate doar ultimele trei:

  • WEP
  • WPA
  • WPA2 (WPA2-PSK)
  • WPA3 (WPA3-AES)

Deoarece wapi essid doar setează intern numele rețelei, pentru conectarea efectivă la rețea și obținerea unei adrese IP este nevoie de o comandă explicită - renew wlan0.

O descriere mai detaliată a API-ului expus prin WAPI (de exemplu, wapi show wlan0), precum și cum te poți conecta la o rețea nesecurizată (open network), poate fi consultată aici

Exercitii

1. Conectați smartwatch-ul la rețeaua facultății și testați cu ping 8.8.8.8 că aveți acces la internet.

În cazul în care nu reușiți să vă conectați la rețeaua facultății, puteți folosi hotspot-ul de pe telefonul mobil. Acest lucru vă va permite să testați atăt conectarea la o rețea nesecurizată, căt și la una securizată (prin WPA2).

NuttX nu tratează în mod implicit semnalul SIGINT, iar în urma rulării ping-ului vi se va bloca consola de nsh. Puteți evita această problemă prin activarea CONFIG_TTY_SIGINT sau configurand un numar fix de pachete de ICMP pe care ping-ul sa le trimita.

si/iot2025/lab03.1754816007.txt.gz · Last modified: 2025/08/10 11:53 by robert_ionut.alexa
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