sâmbătă, 21 octombrie 2017

De unde facem rost de acumulatori cu litiu 18650

Dispozitivele electronice folosesc acumulatori, acum acumulatorii respectiv in general sunt cu litiu (diverse tehnologii, LiIon, LiPo, LiFePO4 etc).

Daca ai o baterie de laptop si ai nevoie de acumulatori 18650, poti desface cu grija acea baterie si acolo vei gasi elementi 18650. Dupa care urmeaza sa ii testezi, sa vezi care ce tensiune mai au, daca e apropiata de 0 Volt, sunt cam morti, desi se pot resuscita. Ideali sunt cei cu tensiuni peste 2.5 Volt.

1. Se ia bateria de laptop si se desface carcasa (surubelnita, cutter etc). Nu se bate in ea, nu se striveste, nu se inteapa!



2. Se scot acumulatorii afara, se taie conexiunile dintre acestia





3. Se sorteaza dupa tensiuni



4. Se incarca, se masoara capacitatea lor etc

5. Ce nu se poate folosi se recicleaza (supermarketurile au zona de reciclare unde poti arunca aceste deseuri electronice) 

Unele baterii de laptop folosesc 6 elemente 18650, altele 9 bucati. Acesti acumlatori cu litiu sunt neprotejati, asa ca daca ii descarcati sub limita admisa sau ii supra-incarcati, se pot defecta sau pot lua foc, asa ca mare atentie!!!

La ce sunt buni acumulatorii recuperati: lanterne cu LED, incarcatoare portabile cu USB, diverse.

Daca trebuie folositi in aplicatii unde este necesar sa fie protejati, se pot cumpara din China module electronice de protecti, se lipescla + si la - si acumulatorul este protejat.

joi, 19 octombrie 2017

Drona JJRC H31 - drona si buna si ieftina si chinezeasca

Lumea pare entuziasmata de drone, desi scapa din vedere ca o drona nu e musai ceva cu 4 elice si cu o camera, care are rolul de a zbura si de a filma de deasupra. O drona e o jucarie foarte faina cu telecomanda si care te  obliga sa inveti cum sa o pilotezi, da, stiu, e simplu, sunt doar 2 manete pe telecomanda aia, nu?

Si ca sa nu o lungim atat, de vreo 9-10 luni ma joc cu o chestie buna, ieftina si chinezeasca, JJRC H31. Drona asta nu are camera, e controlabila in vizibilitate directa (LOS - line of sight) si e pe la 30 dolari americani din China cu tot cu livrare.




Drona vine in cutie cu tot ce trebuie ca sa o folosesti (parca are si elice de schimb, surubelnita), chiar are si niste ochelari de soare (pe care nu am curajul sa ii folosesc din motive medicale legate de ochelarii de soare ieftini).

Motoarele sunt cu perii, transmisia este cu roti dintate din plastic, rezista destul de bine la efort, cand nu mai rezista exista de cumparat roti si pinioane de schimb


Ca sa fie vizibila, am dat cu niste vopsea rosie in partea din fata.

 



Recomand sa cumparati elice de schimb si inca niste acumulatori extra, un acumulator tine drona in aer 5-6 minute.

Acumulatorul este 1S, adica 3,7 Volt si cu o capacitate de  400 mAh, 30C (C chinezesti :) ).



Am cumparat mai multi acumulatori (am 12 bucati), deci pot sa folosesc drona aproximativ 60 de minute. E un avantaj sa poti zbura atat, caci cu un singur acumulator zbori 5-6 minute, apoi stai 20 sa se incarce, te ajuta sa inveti mai repede.

Avand asa multi acumulatori, a aparut o alta problema: ii incarci unul cate unul? Asa ca am facut un adaptor care ii leaga pe toti in serie si cu un incarcator inteligent, ii incarci pe toti odata sau ii echilibrezi, cum poftesti.




Daca nu doresti sa pui mina sa lipseti si sa faci singur asa ceva, poti cumpara un incarcator pt 4 acumulatori, gata facut, Este simplu, poate prea simplu si se poate sa nu aibe grija de acumulatori asa cum o face cel din imaginea de mai sus.


 Aceasta drona permite sa aterizezi cu ea in apa, nu stiu cum e cu decolatul din apa :) Acest lucru este posibil pt ca placa electronica este acoperita cu un strat de rasina (conformal coating).

Ca orice drona de succes :), are o multime de fani care au cautat sa o imbunatateasca cumva. Un lucru pe care il recomand este sa pui o antena mai buna atat la telecomanda cat si la drona - asta inseamna ca maresti putin distnata in care poti controla drona, pentru aceasta este necesar sa ii lipesti un fir la telecomanda, respectiv sa tai dintr-un fir existent in interiorul dronei. (detalii sunt pe forumuri, YouTube, nu are sens sa fiu redundant). Sageata cu galben indica unde este lipita antena pe plana electronica a dronei.


 Drona desfacuta.


Cum spuneam drona nu are camera, dar are undeva pe burta un conector care permite sa legi o camera. Cred ca din cauza acumulatorului de capacitate mica si a motoarelor / elicelor mici, drona nu e chiar cea mai buna pentru a fi echipata cu o camera. De exemplu nu se ridica cu un GoPro.

In schimba sunt camere mini (camera cu emitator cu antena) de cateva grame pt FPV (iti mai trebuie si receptia la sol). Sau ar mai fi varianta de camera controlabila prin WiFi, o pui pe drona si cu ajutorul telefonului inteligent controlezi camera de pe drona, mai jos sunt cateva imagini cu camera respectiva. Calitatea imaginii insa nu e buna la aceste camere, dar daca vrei sa vezi, iti trebuie camera :)





De ce e buna drona (asta sau in genul asta):
-te tine afara, la aer cat te joci cu ea
-desi crezi ca e simplu, dureaza sa inveti sa o stapinesti
-fiind ieftina, nu e bai daca mai dai cu ea de pamint.
-nu ai probleme daca zbori cu ea, e legala

 Spor la zbor!
PS: dupa asta, cred ca e clar de ce unii sunt inebuniti dupa FPV si drone racing :)
 

luni, 3 iulie 2017

Programare Sonoff cu ESPeasy pentru lucrul cu Domoticz

Un impediment in calea automatizarilor este partea de hardware, fie nu poate fi realizata din cauza lipsei experientei, fie din cauza lipsei de timp etc. In articolele anterioare am scris despre ESP8266 - un microcontroler ieftin cu WiFi incorporat.

Sunt tot felul de placi cu ESP8266, Wemos, NodeMCU, ESP01..12 etc. Toate permit diverse incercari, insa nu poti face ceva fiabil cu fire de test si breadboard, ar trebui macar pus pe un cablaj de test, o lipitura cu cositor este mult mai fiabila decat un fir infipt intr-un soclu.

Automatizarile au puncte relativ comune, de aceea putem folosi diverse module gata construite care au ESP8266 si un releu, un senzor, un buton etc.

O varianta ieftina vine de la itead.cc : dispozitivele Sonoff. Sunt "cutii" in care gasim o placa electronica cu ESP8266 si cu un releu, un LED, conector pt senzor temperatura si umiditate etc. Pretul este foarte bun, verificati pagina itead.cc.




Ca sa folosesti Sonoff direct, fara modificari, iti faci cont la ei pe site, iti instalezi pe smartphone aplicatia eWeLink, instalezi cutia Sonoff acasa si prin reteaua WiFi vei avea Internet of Things in cateva minute.

Dar nu despre asta doresc sa scriu aici, ci depsre cum folosim aceste dispozitive Sonoff pe propria noastra infrastructura IoT. Am instalat Domoticz pe un Raspberry Pi, am aplicatia Domoticz pe smartphone.




Aplcatii Internet of Things: dorim sa pornim sau sa oprim clima de pe smartphone, dorim sa stingem sau sa aprindem un bec, dorim aceste actiuni sa se petreaca atunci cand avem indeplinite niste conditii etc. Ne lipseste exact partea hardware, dar folosim aceste dispozitive Sonoff. Insa trebuie sa le programam cu ceva ce controlam noi: ESPeasy.

Dam jos ESPtool de la ESPeasy (pe pagina https://www.letscontrolit.com/wiki/index.php/ESPEasy#Loading_firmware gasim "Loading firmware" -> http://www.letscontrolit.com/downloads/ESPEasy_R120.zip).



Deschidem carcasa Sonoff (aici vorbim de cel mai simplu model, cel cu un releu, buton si un LED), lipim un header cu 5 pini.






Programarea o facem fara sa conectam la 220Vac Sonoff, mare atentie!!! Va puteti praji pe voi, calculatorul etc.

Headerul cu 5 pini de la Sonoff are semnalele indicate intr-una din imaginile de mai sus.

Conectam la calculator un convertor USB - serial, cel pt semnale de 3V3 (ESP8266 foloseste logica la 3V3, nu la 5V). Daca e posibil, alimentam 3V3 din cenvertor, daca nu, alimentam 3V3 de la o sursa externa. Daca e alimentat corect, LEDul verde clipeste.

Deci Sonoff este conectat pe serial la calculator si Sonoff este alimentat extern cu 3V3 (3V3 si GND).

Rx de la Sonoff merge la Tx de la convertorul USB - serial, Tx de la Sonoff merge la Rx de la convertor.

Mai trebuie sa punem Sonoff in modul de programat memoria flash, pt asta eu am folosit o penseta ca sa conectez pinul de la dioda cu pinul de la rezistor. (pui virfurile pensetei pe acele 2 puncte si tii acolo, apoi conectezi alimentarea de 3V3 la Sonoff). Poti de asemenea sa lipesti un fir intre cele 2 puncte.





Pe calculator gasesti ce port a fost alocat convertorului USB - serial, apoi deschizi aplicatia ESPtool , cu aceasta aplaicatie vom programa ESPeasy in ESP8266. Aplicatia doreste sa stie portul serial alocat (la mine a fost 10 (de la COM10)), dimensiunea memoriei flash (Sonoff are 1024), versiunea ESPeasy (in cazul meu 120 (de la R120)).












Daca apar erori la programare, e posibil ca Rx si Tx sa fie inversate, dupa legatura corecta, trebuie sa mearga. In timpul programarii, trebuie tinuta penseta pe cele 2 puncte de pe placa. Un modul Sonoff nou cand este alimentat, are LEDul verde clipitor, cand este in modul de programare, acel LED nu mai clipeste!



Programarea dureaza aproximativ un minut, nu uitati sa tineti penseta intre cele 2 puncte! Dupa programare, deconectam cablurile de la Sonoff, apoi bagam placa la loc in carcasa, inchidem carcasa.

Dupa programarea Sonoff cu ESPeasy, legam la cutia Sonoff un cablu izolat cu stecher de priza de 220Vac.
Pe carcasa Sonoff avem marcate faza si nulul, eu am marcat faza si nulul si pe stecher, apoi am verificat in priza care e faza si nulul si am bagat stecherul respectand aceste marcaje.






Am bagat cablul in priza, nu a iesit fum din cutia Sonoff :)




Pe calculator, cautam printre retelele WiFi un SSID "ESP_0", ne conectam la el, parola WiFi este configesp.



Apoi in browser, mergem la 192.168.4.1.



Se deschide o interfata web unde specificam SSIDul si parola retelei noastre WiFi, ca sa permitem Sonoff sa se conecteze la aceasta. Dupa care Sonoff primeste un IP din reteaua noastra, ne conectam la reteaua WiFi de acasa, apoi la noul IP si incepem sa configuram ESPeasy de pe Sonoff.



Pe Sonoff basic, cel mai simplu si cel mai ieftin model, avem urmatoarele GPIOuri la dispozitia noastra, trebuie sa tinem seama cand setam ESPeasy:

GPIO13 - aici este conectat LEDul verde, semnal logic LOW il aprinde

GPIO12 - aici avem legat releul, semnal logic HIGH il anclaseaza

GPIO0 - aici avem legat butonul, cand il apasam, generam un semnal logic LOW

GPIO14 -aici nu avem conectat nimic, gasim acest GPIO liber, pe conectorul header de 5 pini (cel lipit de noi)

 

(Schema cutiei Sonoff simplu: https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf)

Domoticz, ESP8266 si ESPeasy permit sa facem o sumedenie de automatizari prin casa, tine de nevoile si imaginatia fiecaruia. Detalii gasiti pe Internet, nu detaliez aici.

luni, 26 iunie 2017

debug MQTT pe ESP8266, Domoticz si Raspberry Pi

Intr-un articol precedent am prezentat cum se trimit date de la un senzor cu ESP8266 catre serverul Domoticz, prin WiFi. Datele erau trimise prin MQTT, folosind brokerul MQTT mosquitto.

Daca spre exemplu avem o problema pe partea de MQTT si vrem sa o corectam, trebuie sa facem cumva sa vedem mesajele MQTT.

Dupa ce am instalat pe Rasberry Pi brokerul MQTT si clientul MQTT (apt-get install mosquitto mosquitto-clients), putem verifica functionarea brokerului:

-deschidem 2 ferestre PuTTY unde ne conectam la RPi (SSH)
-intr-una rulam  mosquitto_sub ca sa ne abonam la un topic si sa vedem mesajele



-in cea de-a doua rulam mosquitto_pub cu care publicam mesaje pe un anumit topic



Asa ne asiguram ca brokerul MQTT mosquitto functioneaza.

Dacalinia de comanda sperie lumea, un alt program interesant este MQTT.fx, are interfata grafica, este facut in Java si poti vedea ce se petrece pe MQTT. Publici si vezi mesaje, poti seta multi parametri ai conexiunii, te poti abona la multe topicuri etc.

E fain ca poti selecta cum sa vezi continutul mesajelor, spre exemplu JSON:




joi, 22 iunie 2017

ESP8266 MQTT Arduino Domoticz - home automation

Intr-un articol precedent am pus cateva detalii despre automatizarea casei, despre cipul cu WiFi integrat si pret mic ESP8266 (Domoticz, IoT si casa inteligenta).

De cand cipul ESP8266 a fost integrat in Arduino IDE, au aparut o multime de aplicatii, de automatizari, iar viata constructorului amator electronist :) s-a simplificat uimitor. Unii chiar folosesc acest cip ESP8266 fara partea lui de WiFi doar pt ca ofera putere de procesare la un pret mic.

Ideea cu automatizarea casei e simpla si te poate scapa de timpul pierdut pt diverse sarcini, timp care se aduna, iar daca aduni 1 minut de 60 de ori, iti iese numai bine o ora, ora pe care o petreci cu cei dragi:
-am un cip care citeste senzori si trimite datele prin reteaua deja existenta (aproape) in fiecare casa - cam fiecare casa are un ruter WiFi, deci o retea WiFi.
-acelasi cip poate primi comenzi prin aceeasi retea WiFi si poate actiona diverse relee, motorase, trimite comenzi prin infrarosu etc. Deci cipul ne spune diverse informatii si / sau asculta si executa comenzi. (sau poate executa local comenzi ifd informatiile pe care le are de la senzori).
 
-informatiile ajung la un sistem care le stocheaza si care poate decide ifd informatiile primite.

De exemplu:
-scade temperatura in casa sub 17 grade C (informatie de la senzori), se decide pornirea caldurii
-creste tempreatura peste 25 de grade C, se decide pornirea aerului conditionat si inchiderea jaluzelelor
-s-a detectat umiditate pe podea in subsol - o potentiala inundatie, se decide oprirea apei reci / calde si oprirea alimentarii cu energie electrica a subsolului   +  trimiterea unui SMS si email cu mesajul ca e o problema
 -contorul de gaz, cel de energie electrica, cel de apa rece sunt inregistrate local si poti analiza consumurile, le poti corela cu inregistrari de temperarura, poti intelege cum consumi si eventual poti lua masuri sa consumi cu cap, nu sa consumi aiurea doar pt ca iti permiti sa platesti sau ca ai de unde consuma - trebuie sa ai un dram de minte in plus de la tehnologie
-poti sa controlezi luminile in casa, sa ai detalii despre starea usilor, a geamurilor etc - un fel de sistem de alarmare
-sistemul de udat gazonul sau gradina pot fi automatizate complex, ifd de ora, temperatura, umiditatea solului etc (sau poti comanda tu de pe smart phone sa il uzi ATUNCI)
etc
etc

Sa vedem cum arata acest sistem:


Cipul (microcontrolerul cu WiFi) ESP8266 citeste datele de la senzori
Trimite datele prin WiFi catre un IP / port din LAN
Datele ajung la routerul WiFi
Routerul le da mai departe catre IP-ul specificat din LAN
Datele ajung la Raspberry Pi (RPi) unde ruleaza oaplicatie / server
RPi trimite datele aplicatiei cu portul specificat la inceput - aplicatia aleasa de mine este Domoticz - sever de home automation

Pentru a trimite date intre dispozitive cu putere de procesare redusa si pentru a nu consuma energie, a fost inventat un stardard - MQTT

Datele de la dispozitive sunt trimise unui broker MQTT intr-un format agreat. Dispozitivul publica (publish) datele pe broker pentru un anumit flux de date (topic). Daca dorim sa citim datele de la brokerul MQTT, trebuie sa ne abonam (subscribe) la broker si la un anumit flux de date (topic)

De exemplu un topic ar fi /sufragerie/temperatura/
Dispozitivul publica datele catre brokerul MQTT: /sufragerie/temperatura/20
Brokerul MQTT preia datele si le pune la dispozitia tuturor celor abonati (subscribed) acestui topic.

Un broker popular de MQTT este mosquitto. Datele de la broker sunt volatile, adica brokerul le publica dar nu le stocheaza, nu le proceseaza.

Daca dorim stocarea acestor date sau prelucrarea lor, trebuie sa folosim o aplicatie care se aboneaza la un topic si datele primite acolo le va stoca undeva, intr-o baza de date de exemplu. Din acest motiv am utilizat un server de automatizari - Domoticz. Domoticz se aboneaza la brokerul MQTT mosquitto si cand primeste date de la ESP8266, le scrie in baza de date. De acolo datele pot fi vizualizate in grafice, pe perioade de timp etc.

Instalare Domoticz pe Raspberry Pi
Instalare broker MQTT mosquitto pe Raspberry Pi

Acum vine partea de programare, sperietoarea tutror :). Din fericire, domeniul de home automation, Arduino si ESP8266 sunt niste chestii foarte populare printre constructorii amatori, asa ca, unii mai priceputi, au pus la punct ceva minunat, anume Easy ESP sau ESP Easy, nu mai stiu exact - vezi Let's Control It - ESP Easy.

E vorba de un soft care programat pe ESP8266 te ajuta sa configurezi ESPul dintr-o interfata grafica, din browserul de Internet, ce poti sa iti doresti mai mult :)

De aceea, pe ESP8266 am programat softul ESPeasy.

ESPeasy se gaseste pe GitHub si se compileaza / programeaza in Arduino IDE, programarea e simpla, urmati pasii de pe Let's Control It.

Pentru programarea ESPeasy versiunea R120 sub Arduino 1.8.3, trebuie ca biblioteca de functii "IRremoteESP8266 by Sebastien Warin, Mark Szabo..." sa fie versiunea 1.1.1, ultima versiune da eroare la compilare, probabil ca e ceva trivial de rezolvat, insa nu am avut timp de asa ceva.

Biblioteca de functii "IRremoteESP8266 by Sebastien Warin, Mark Szabo..." 
sa fie versiunea 1.1.1

Setari in Arduino IDE pentru un modul ESP8266 generic 
(verificat pe ESP-07)


Senzorii mei fiind afara si mai ales fara alimentare de la retea, ESPeasy e pe baterii (acumulatori litiu, 18650). Partea buna e ca in ESPeasy e optiune de functionare in mod de deepsleep, ceea ce prelungeste viata unui ESP8266 pe baterii la cateva luni chiar.

De asemenea am modificat acest soft (versiunea R120) pe baza celor gasite online si imi afiseaza starea bateriei (ESPeasy starea bateriei), asa pot sa stiu daca ma lasa bateria / acumulatorul, daca se incarca etc.


Putem lega la ESP8266 un senzor digital de temperatura DS18B20, apoi configuram ESPeasy sa il citeasca si sa trimita datele la Domoticz (prin MQTT) (tutorial Domoticz, ESPeasy si DS18B20)


Daca rulam ESPeasy acasa, in LAN, este ok dpdv al sigurantei, daca vrem acces din afara, din Internet, trebuie sa ne asiguram ca Domoticz este securizat (SSL, TLS) si ca ESP8266 foloseste aceasta autentificare, altfel ne expunem la riscuri.

Daca ai ajuns pina aici, daca ai reusit sa instalezi pe Rasberry Pi si sa programezi ESP8266, atunci deja ai pus temelia pentru un sistem care poate fi complex si util :)

(cele scrise mai sus nu se doresc a fi un tutorial pas cu pas pentru incepatori care aud acum prima data de Arduino, Rasberry Pi si microcontrollere, am incercat doar sa prezint o imagine globala asupra a ceea ce avem la dispozitie acum in 2017. Pentru orice intrebare, stiu pe cineva care a deschis un site unde se pot afla multe raspunsuri - google.com :) )