Documente Academic
Documente Profesional
Documente Cultură
http://facutdetine.blogspot.ro/
Mai multe
Urmtorul blog
Creai blog
Autentificare
Blog adresat celor entuziasti, cu spirit de initiativa si calitati de "Mester", invatam, testam si aplicam.
2.999 Lei
2.799 Lei
3.009 Lei
3.069 Lei
3.289 Lei
2.999 Lei
Translate
Powered by
Translate
Persoane interesate
Google Friend Connect
Membri (10)
Arhiv blog
2011 (7) iulie (1) Quadcopter - Arduino "based" aprilie (1) martie (2) ianuarie (3)
2010 (2)
Despre mine
1 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
2 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
3 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
Au o categorie de Final Sale Zone in care periodic baga produse EOL la preturi incepand cu -30% fata de lista. Trimit tichete cadou in colete.... Sunt tari. Pot sa spun ca am ceva experienta in trading-ul cu CH si HK am mai cumparat si din alte parti, trebuie testat inainte de a cumpara, cauti un pik pe forumuri, comanzi un sample ceva, vezi cum decurg lucrurile si apoi decizi. Cand ajunge produsul in RO ajunge in vama (posta vamala) (in aprox 14 zile), la vama: - valoarea este sub 120USD se plateste numai TVA (chinezul o sa scrie pe colet GIFT, vamesul spune ca asa face toata lumea si cere un document, voi spuneti ca ati avut cupoane de discount si nu ati platit cu bani, oricum va puteti intelege cu cei de la vama) - valoare este peste 120 USD se pateste TVA + VAMA conform codului TARIC Eu folosesc pentru plata PayPal consider ca este cea mai sigura modalitate de a plati pe internet. Mai avem si: Sure Electronics - preturi bune si ei SparkFun - mai bine decat in RO (astia au o faza ca la inchiderea orderului alegi ce val sa-ti treca :)) ) Asa... si va spuneam de Atmega328 In RO este 28 RON La SparkFun 13 RON La SeeedStudio, nu il au, am dat mail sa-mi faca rost, Va spun asta pentru ca, chinezul face orice pentru clientul sau... cauta el pentru tine si ti face pe plac. Deci astept Pret.. Sa spunem ca luam 5 bucati RO 28x5 + 10 (sa spunem in cel mai bun caz Transport) = 150 US 13x5+30RON (transport) =95 (fara vama pt ca va avea val pe order sub 10usd) Deci avem o economie de 55 RON substantial raportat la valoare zic eu.
A fost doar un exemplu! Pe viitor poate facem liste de precomenzi si comandam la 2-3 saptamani in comenzi cumulate.
Publicat de Cristian Perdutu la 10:53 16 comentarii
4 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/
5 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
// Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); void setup() { // start serial port Serial.begin(9600); // Start up the library sensors.begin(); }
void loop(){ if (Serial.available() > 0) { incomingByte = Serial.read(); if (incomingByte==84nd) { // call sensors.requestTemperatures() to issue a global temperature // request to all devices on the bus sensors.requestTemperatures(); // Send the command to get temperatures Serial.print("RAW"); Serial.print(" Indoor: "); Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"? You can have more than Serial.print(" Outdoor: "); Serial.println(sensors.getTempCByIndex(1)); } } }
-------------------------------------------------------Pana aici am terminat cu Arduino, ca si concluzie Arduino raspunde cu citirile senzorilor daca cineva-i transmite T pe serial. Pe sistemul linux (routerul Asus WL-500) avem: 1. python2.5 pentru a pune feed-ul pe pachube 2. curl Scriptul 1.
>#!/bin/sh >python2.5 /mnt/pachube_mobo/read_serial.py > >curl -s -d "send=T&buttonSubmit=submit" http://user:pass@server/admin/rs232term?Upd >curl -s http://user:pass@server/admin/rs232term?Update=fulltext | grep RAW > /mnt/ >curl -s http://user:pass@server/admin/rs232term?delbuffer | grep nooutput >
Sunt 3 comenzi curl. Prima trimite caracterul "T" (ASCII 84) catre terminalul serial al camerei, conectat prin adaptorul RS232-TTL la Arduino A doua comanda "partseaza" raspunsul si il pune in fisierul temp.txt A treia comanda "rade" bufferul serial al camerei pentru a-l lasa curat asteptand o noua interogare deci un nou raspuns de la Arduino. Prima linie, adica : >python2.5 /mnt/pachube_mobo/read_serial.py Lanseaza un script de py care va trimite informatia pe pachube. Scriptul 2.
>import eeml >import linecache > >################################## > >temphum = linecache.getline("/mnt/pachube_mobo/temp.txt", 1) ># parameters >API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' >API_URL = '/api/xxxxxxxx.xml' > >readings = temphum.split(' ') # the readings are separated by spaces >pac = eeml.Pachube(API_URL, API_KEY) >pac.update([eeml.Data(0, readings[3], unit=eeml.Celsius()), eeml.Data(1, readings[5 >pac.put()
6 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
Arduino + 2xDS18B20 + un adaptor RS232-TTL + o camera de supraveghere MOBOTIX M10 + un server linux
Va spuneam in postul anterior, cel in care am vorbit despre DS18B20, ca am sa va povestesc ce am facut in combinatia Arduino + 2xDS18B20 + un adaptor RS232-TTL + o camera de supraveghere MOBOTIX M10 + un server linux. Camera Mobotix M10D Secure este o camera de supraveghere profesionala cu 2 ocbiective, kernel linux si ce ne intereseaza pe noi, are un port serial RS232. Pe undeva prin paginile de configurare ale camerei se gaseste un terminal pt portul serial, web-based. Ce ma intriga pe mine era faptul ca acest la port serial (si probabil ceva scripturi din camera) se poate conecta o statie meteo (de fapt sunt 3 modele compatibile), pretul acestor statii este oarecum prohibit pt mine, cea mai ieftina costand mai bine de 400 euro. Am zis eu ca nu este imposibil sa fac eu o "statie meteo" care sa comunice cu camera folosind un protocol comun, nu ceva complicat, vroiam doar sa primesc pe terminal-ul camerei informatia bruta de genul 18C 15m/s SE. Era mult mai simplu daca aveam acces SSH la camera, dar cei de la MOBOTIX au avut grija sa limiteze aceasta posibilitate. De ce am vrut neaparat sa intervina camera in toata aceasta poveste ? pai este simplu..... camera este afara undeva, conectata la internet sau la o retea locala, alimentata POE, si eu vreau sa vad care este temperatura din locul monitorizat. Pe Arduino am pus un Sketch care foloseste OneWire.h si DalassTemperadure.h, librarii despre care am vorbit in posturile anterioare.
#include <OneWire.h> #include <DallasTemperature.h> // Data wire is plugged into pin 2 on the Arduino
7 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/ OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); void setup() { // start serial port Serial.begin(9600); // Start up the library sensors.begin(); }
void loop(){ if (Serial.available() > 0) { incomingByte = Serial.read(); if (incomingByte==84nd) { // call sensors.requestTemperatures() to issue a global temperature // request to all devices on the bus sensors.requestTemperatures(); // Send the command to get temperatures Serial.print("RAW"); Serial.print(" Indoor: "); Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"? You can have more than Serial.print(" Outdoor: "); Serial.println(sensors.getTempCByIndex(1)); } } }
Reteaua 1wire este conectata la pinul 6. Arduino asteapta pe serial caracterul "T" (asci 84), daca primeste acest caracter interogheaza senzorii (sunt mai multi ) si trimite raspunsurile pe serial folisind ByIndex (interesanta si utila implementare) pentru a diferentia fiecare senzor. RX-ul si TX-ul lui Arduino sunt legate la portul serial al camerei Mobotix bineinteles folosind un convertor TTL la RS232 cu MAX232, 5 condensatori, realizat pe o placa de test,gasiti aici o schema testata, deja montata ca shield la Arduino (nu am poze dar revin asupra subiectului). arduino se alimenteaza cu 5V de la POE-ul camerei. Dar cine trimite caracterul T pe terminalul camerei ? Un server linux pe care am pus o serie de scripturi: Primul dintre ele! #!/bin/sh python /home/cristian/pachube_mobo/read_serial.py& curl -s -d "send=T&buttonSubmit=submit" http://user:pass@192.168.2.244/admin /rs232term?Update=fulltext | grep nooutput curl -s http://user:pass@192.168.2.244/admin/rs232term?Update=fulltext | grep RAW > /home/cristian/pachube_mobo/temp.txt curl -s http://user:pass@192.168.2.244/admin/rs232term?delbuffer | grep nooutput Scriptul de .py are legadura cu pachube.com, el pune datele pe feed-urile respective, mai multe detalii legate de libraria eeml gasiti aici. Din prima linie se vede ca ea trimite caracterul "T" pe treminalul camerei, implicit catre Arduino A doua linie descarca bufferul camerei cauta secventa "RAW" si scrie informatia in vifierul temp.txt A treia linie sterge bufferul serial al camerei. Scriptul asta este lansat la fiecare 5 minute de catre o aplicatie linux care face grafice se numeste CACTI este pe baze RRD. De fapt CACTI nu lanseaza direct scriptul ci face un snmpwalk si OID-ul corespunzator
8 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
9 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
10 of 11
26.09.2013 13:21
Facut de tine
http://facutdetine.blogspot.ro/
Exista o implementare software a protocolului 1wire, protocol pe care eu il consider "the best". Device-urile ce folosesc acest protocol sunt facute aproape 100% de Dallas. Acestea au un identificator unic dupa care se pot accesa in "retea". O retea 1wire este ca un raft cu haine, hainele reprezentand device-urile retelei, atunci cand cautam o bluza sa spunem ne uitam in raft dupa culoarea si modelui ei. cam asa functioneaza si identificatorul 1wire. (asta a fost o explicatie empirica scoasa pe moment) Marele avantaj este ca folosind acest protocol avem nevoie de numai 2 fire ( conductori) atat pentru alimentarea retelei cat si pentru date. De fapt alimentarea poate face in 2 moduri nonparazit si parazit. La nonparazit se folosesc 3 fire +5V GND si acelasi conductor cu Digital. Am vazut multe tutoriale pe web in care la alimentarea parazita pinul Vcc al device-ului 1wire era lasat in aer, va spun din experienta ca apar probleme asa ca cel mai bine este sa-l conectati la GND. Exista scrisa o librarie OneWire Library , utilizarea este foarte simpla, aveti si exemple in link-ul anterior. DIGITAL in modul parazit alimentarea +5V vine pe
Pagina de pornire
Abonai-v la: Postri (Atom)
11 of 11
26.09.2013 13:21