sâmbătă, 30 iunie 2018

Prezentare, stocare date si executare comenzi de pe pagina Cayenne cu Arduino Uno si placa de retea cu W5100

   Acum ceva timp, am pus pe blog articolul Prezentare, stocare date si executare comenzi de pe pagina Cayenne (2) si regasind modulul, am constatat ca nu mai functioneaza. Pe mail tot primeam anumite avertizari si chiar cand am intrat pe server sa vad, ca s-a schimbat modul de lucru cu comenzi cu protocol MQTT, dar am tot ignorat "avertismentele" 👽.
   Am reconectat placa Arduino Uno care e legata cu cea de retea cu chip-ul W5100 si am modiifcat sa mearga identic ca inainte.

   Sketch-ul nou este Cayenne_Uno_W5100_DHT22_button2.ino si acum pot vedea iar temperatura si umiditatea, dar sa aprins si sa sting led-ul
   Schema e simpla, dar am zis s-o postez totuşi
   Am facut 2 filmulete, in care s evede mai usor despre ce e vorba
Arduino Uno cu Ethernet shield trimite date pe canal Cayenne si controleaza un led (2)
Arduino Uno & Ethernet shield send data to Cayenne channel and control external led (2)

duminică, 17 iunie 2018

Windows 10 pe 64 biti si Ubuntu 18.04 pe acelasi calculator

   Vrand sa pun pe laptopul ce avea instalat sistemul de operare Windows 10 pe 64 biti, sistemul de operare Ubuntu (o versiune prietenoasa de Linux) am avut neplacuta surpriza sa pierd informatiile de pe hard-uri, avand 2, un SSD pe care era Windows-ul  si un harddisk clasic.
   Dupa reinstalarea Windows-ului 10, la o distanta de 2-3 luni am avut parte de multe ecrane albastre, care m-au deranjat, asa ca am zis sa vad daca nu cumva sistemul de operare este vinovat, asa ca am instalat Windows 7 (cel cu care fusese vandut laptopul) pe SSD.
   Am vrut sa instalez si Ubuntu, dar sa nu mai am probleme de dual boot pe acelasi HDD (se cam strica la update-ul lui Win sau Linux, fiind relativ dificil de reparat), asa ca am discutat cu Vlad (de fapt l-am cam stresat cu solicitari de informatii despre o instalare ok, mai ales la Linux).
   Am instalat Windows 7 avand doar SSD-ul montat, apoi  am instalat Ubuntu 18.04 (ultima versiune, la acest moment) pe hardisk-ul clasic (SSD-ul fiind scos), dupa care le-am pus pe amandoua si ramane sa aleg la boot-are (pornire) ce sistem de operare  sa ruleze.
   Am avut parte, din nou, de o surpriza neplacuta, neputand alege hardisk-ul de pe care sa boot-eze, ci doar CD/DVD sau harddisk, oricat am caut in BIOS-ul laptopului HP pavilion DV7.
   Solutia mi-a fost indicata tot de Vlad, si anume utilitarul Grub2win care se instaleaza usor si se configureaza (relativ) usor.
  Eu am creat partea de selectie astfel
folosindu-ma de informatiile de le ofera programul
si mai ales
asa ca acum, la pornire, am 7 secunde sa aleg daca porneste in Windows 7 sau sa selectez Grub 2 for Windows (care e configurat pentru Ubuntu)
rezultand la alegerea Grub 2 for Windows, pornirea in Linux (Ubuntu)

miercuri, 13 iunie 2018

Sonerie cu comandă locală sau prin protocol MQTT prin server Mosquitto (3)

   Față de cele 2 articole anterioare (1 și 2), acum am noutăți, pot comanda soneria de oriunde am net (gsm sau wifi) și am o interfața prietenoasă, nu mai trebuie să dau comenzi scrise.

   Pentru a putea comanda de oriunde de pe net, am deschis portul 1883 de pe router-ul local unde este Raspberry Pi
și activez funcția DNS dinamic pentru contul de la RDS
și aloc un nume de domeniu
   Pentru a folosi ușor de pe telefon cu Android, am folosit aplicația IoT MQTT Panel (IoT Controler)
   Am un singur periferic numit clopot pe serverul de la tehniq.go.ro
care este configurat simplu
   Momentan, am configurat doar 2 butoane (comenzi)
astfel, Bell1 pe canalul DoorBell și comanda Bell1 (aprinde scurt primul led), iar butonul Chime5 pe canalul DoorBell și comanda Chime5 (aprinde cele 4 leduri într-o ordine anume).
   Am făcut 2 filmulețe edificatoare:

duminică, 10 iunie 2018

Sonerie cu comandă locală sau prin protocol MQTT prin server Mosquitto (2)

   În articolul anterior am folosit un server Mosquitto instalat pe un laptop cu sistem de operare Windows 10, de data asta am instalat serverul pe un Raspberry Pi Zero cu dongle Wi-Fi (care poate fi înlocuit cu un Raspberry Pi Zero W), care funcâionează ca o cameră de supraveghere, deci tot stă mereu pornit.
   Am crezut că e foarte simplu să instalez serverul Mosquitto pe raspberry Pi, dar sunt ceva probeleme c u pachetul de instalare, ața că am reusit să îl instalez doar cu informaâiile din articolul Install Mosquitto on a Raspberry Pi.
  Am instalat programele pe Raspberry de pe laptopul cu Windows 10, prin intermediul programului Putty
    Am dat următoarele comanzi:

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients
sudo apt-get install python-pip
sudo pip install paho-mqtt
Am facut o copie a fisierului de configurare
cd /etc/mosquitto
sudo cp mosquitto.conf mosquitto.conf.original
si am făcut testul de comunicare scriind în fereastră
mosquitto_sub -d -t 'test-mosquitto'
și deschizând o a doua fereastră Putty (se repetă pașii cu configurarea, user-ul și parola), apoi se dă comanda
mosquitto_pub -d -t 'test-mosquitto' -m 'This is a test message'
deci serverul merge, așa că am modificat IP-ul pentru server în sketch-ul soneriei și l-am încărcat din nou.
Am schimbat și adresa serverului în aplicația MyMQTT de pe telefon în 192.168.2.20 si am dat comenzi de aprindere scurtă led-uri pe canalul Doorbell de genul Bell1 ,, Bell4, apoi de aprindere tip melodie Chime1 .. Chime5.
Pentru a verifica ulterior funcționarea serverului se dă comanda netstat -a ca și in Windows căutând portul 1883
Funcționare este identică ca pe serverul de pe Windows, după cum se vede și din filmulețele

Sonerie cu comandă locală sau prin protocol MQTT prin server Mosquitto

   După ce am reușit să primesc valorile temperatruii și umidității de la o placă NodeMCU (ESP8266) prin intermediul unui server Mosquitto prin protocol MQTT (vedeți articolul anterior), acum o sa vă prezint o sonerie cu mai multe tonuri cu comandă locală (din buton, cum are orice sonerie), dar și de pe un telefon sau calculator prin comenzi MQTT.
   Materialul care l-am testat este prezentat într-un video numit MQTT Door Bell și în descriere se găsește sketch-ul, care se numește DoorBell3Publish.ino
   Am încărcat și eu acel sketch și până să-i conectez niste led-uri, am pus să se aprindă scurt ledul intern albastru (de la GPIO2 - D4) când a primit o comandă cunoscută. În filmul original se observă că sunetele sunt obținute mecanic, dar pe mine mă interesa modul de comandă.. se pot folosi buzzer-e active sau unul pasiv folosind comanda Tone (de generase sunete).
   Corespondennța pinilor GPIO cu cele Arduino sunt prezentate în figura de mai jos
Montajul realizat are butonul local la GPIO5 care corespunde lui D1
  Dacă se apasă butonul, led-urile se aprind într-o ordine corespunzătoare primei melodii.
  Pentru a veriifca dacă serverul Mosquitto este activ și ce IP are dăm comanda netstat - a din Commmand prompt cum am mai prezentat
  Observăm că portul 1883 este deschis la 192.168.1.106, asa că asta punem în sketch (MQTT_ESP8266_DoorBell.ino)
completăm și numele releței wi-fi din casă/apartament și parola.
   Deschidem aplicația MyMQTT de pe telefonul cu Android și scriem adresa serverului
   Apoi la partea de comenzi (Publish) trecem Doorbell ca fiind canalul de comunicare (tipic-ul)
care este notat și în sketck
  Pentru sunete simple dăm comenzi Bell1 .. Bell4 corespunzătoare unui aprinderi scurte a led-ului de la 1 la 4 (în cazul testului)
sau scurte melodii prin comenzi Chime1 ..Chime5 pentru melodii de la 1 la 5.
   Cel mai bine se vede modul de funcționare îm filmulete, așa că am făcut 2:
Sonerie cu comandă locală sau prin protocol MQTT prin server Mosquitt
Doorbell with locat or MQTT control
   Menționez că eu am folosit serverul Mosquitto instalat pe laptop, dar ideea e să fi fie instalat pe o placă Raspberry Pi, ținând cont că trebuie să fie mereu pornit acest server și din cauza consumului de energie, laptopul sau desktop-ul având un consul de 50-150W, iar Raspberry Pi de 1,5-7W în funcâe de versiune (raspberry Pi Zero consuma cel mai puțin).