Samogradnja - općenito

Arduino - projekti, ideje, savjeti, problemi

Coder256 čet 14.1.2021 13:52

Uz malo guglanja saznao sam da mi je motor ProTim HD 800, a koliko vidim na nekom forumu spominju da je to izmisljeni naziv, a da je to u stvarnosti kineski Pax... Cak kazu da bi trebali radit uz daljinske od BFTa?

Coder256 sri 20.1.2021 14:31

Zna li netko je li ovi daljinski podrzava rotirajuci kod ili ima fiksan kod?

Trazim neki jeftini daljinski za garazna vrata kojeg cu svakako rastaviti i spojiti na arduino pa zelim da bude sto jeftiniji, ali u isto vrijeme da ima rotirajuci kod. Nasao sam BFTov za 20ak dolara pa sad trazim ima li nesto jeftinije, a funkcionalno prije nego BFT narucim.

MrBlc sri 20.1.2021 14:46

Iz opisa bih rekao da šalje fiksne naredbe - ideja je da Arduino prima naredbe putem standardnog prijemnog modula.

 

Alternativno se možeš pokušati dokopati specifikacije protokola koji koriste BFT motori, pa pokušati preko običnog predajnika SW emulirati daljnski.

Coder256 sri 20.1.2021 15:06

Toga sam se i bojao za fiksan kod...

 

Je li moguce uopce emulirati neki daljinski kao BFT sa obicnim rf transmiterom s obzirom da BFT stalno salje drugi kod?

 

Da napomenem, nemam BFT motor već PAX i ideja mi je bila kupiti BFT daljinski i programirati ga na motor da ga on prihvaca...

MrBlc sri 20.1.2021 16:59

Malo sam pročačkao. Ako se motor može programirati s BFT daljinskim, onda znači da koristi KEELOG kodiranje.

 

Imaš čip od par kuna koji to odrađuje, a može se i SW odraditi, nakon toga šalješ preko 433 MHz predajnika. 

 

 

Evo jedan zanimljiv članak o kopiranju daljinskog:

https://reverseengineering.stackexchange.com/questions/11988/question-about-keeloq-a-car-remote-control-standard

 

Tebi to u osnovi ne treba, tebi treba emulacija novog daljinskog kojeg ćeš normalno programirati pomoću postojećeg.

 

Međutim, ono što ni ja nisam tu shvatio, to je da li BFT motori koriste manufacturer's code pri registraciji novih daljnskih (to znači da third party daljnski ne mogu biti registrirani ako nije procurio taj code) ili će prihvatiti bilo koji KEELOG daljinski na toj frekvenciji.

 

U svakom slučaju, optocoupler i postojeći daljnski su ti najsigurnija opcija ako se može isprogramirati.

Coder256 sri 20.1.2021 22:00

Na jednom nasem forumu jedan lik govori da provjereno BFT-ov daljinski radi sa PAX motorom (koji je kod mene), dok obrnuto ne radi. Po postovima njegovim cini se da ugraduje garazna vrata i da je upucen u njih pa pretpostavljam da mu je za vjerovati.

 

Zanimljiv je taj clanak, morat cu ga detaljnije prouciti sutra kad budem svjez :)

 

Sto se tice manufacturer's codea kod BFT vjerojatno BFTovi motori to traze, dok PAX motori mogu u centralu upisati bilo koji KEELOQ daljinski. To je samo pretpostavka koja bi objasnjavala prethodnu tezu da BFT moze na PAX dok obrnutno ne...

 

Znaci ja bih mogao isprogramirati KEELOQ kod preko SW-a pa slati to preko obicnog 433MHz predajnika kojeg bi isprogramirao na motor? Bez kupovanja dodatnog BFT daljinskog?

 

 

EDIT: Rastavio sam daljinski da vidim koji cip koristi i rijec je o HCS101. Proucavajuci njegov datasheet, radi se o predajniku sa fiksnim kodom, sto bi znacilo da je njegova sigurnost imagirna. Jedina komponenta od sigurnosti koju salje sa kodom je counter koji bi se trebao mijenjati, ali kako onda moze biti fiksan kod ako se counter mijenja i efektivno tako mijenja cili kod koji se salje? Malo mi to nije jasno bas, pa cu nastaviti proucavati. Oblik podatka koji se salje je jako slican ovome podatku koji je opisan na tom linku sto si poslao. Jedina razlika je sto nema enkriptiranja sa KEELOQom, bar koliko ja vidim. Prema nekoj logici dalo bi se relativno lako naci counter i koliko se inkrementira, detektiranjem vise uzastopnih uzoraka i nalazenjem veze medu prethodno i sljedeceg countera?

MrBlc čet 21.1.2021 07:49

Za KEELOG se koristi HCS301.

 

 

Što se tiče toga, da ako je counter, onda nije static. Međutim, ako prijemnik na temelju countera prihvaća ili odbija daljinski, onda ne možeš jednostavno kopirati kod jer će ti dolaziti do desinkronizacije daljinskog (u osnovi, koliko puta otvoriš Arduinom, toliko puta ćeš morati pritisnuti tipku na daljinskom i obrnuto).

Coder256 čet 21.1.2021 12:25

Mene sad zanima bi  li ja mogao emulirati sa arduinom da mi se ponasa kao treci daljinski, u smislu da mi je podatak identican osim sta bi stavio neki drugi counter2 tako da mi se ne dogada desinkronizacija. Eventualno bi mogao staviti i drugi serial number tako da mi ga ne zabuca sa postojecim daljinskim. Onda bi arduino programira na motor da ga prihvaca kao sto bi programira neki drugi, recimo, bftov daljinski na motor. 

 

Nikad nisam radio nesto slicno pa mi je ovo sve novo podrucje za ucenje, ali jako zanimljivo podrucje posto nikad nisam zalazio duboko u tematiku daljinskog otkljucavanja auta itd.

 

Sutra bi mi trebao doci rf prijemnik pa cu ga spojiti na arduino i probati detektirati koje podatke salju dva daljinska, odnosno razlike medu njima. Trebao bi moci viditi ciste bitove posto nema nikakve enkripcije. Vidit cemo...

MrBlc čet 21.1.2021 12:44

Ne možeš staviti neki drugi counter jer je counter u daljinskom - prijemnik bi trebao prihvaćati određeni prozor kodova nakon zadnjeg poslanog, ali ne i prije.

 

Programiranje drugog serijskog bi moglo upaliti, ali treba testirati.

Coder256 čet 21.1.2021 14:28

Mislio sam staviti drugi counter koji bi bio povezan sa drugim serijskim brojem jer pretpostavljam da je tako rjesen problem desinkronizacije kod dva daljinska koja sam dobio sa motorom. Vjerojatno motor ima povezana dva serijska broja i za svakog ima odreden prozor kodova koje ce prihvacat i tako izbjegava taj problem. Kad bi ja upisao treci serijski broj u motor, onda bi motor ima pohranjeno 3 serijska broja i za svakog bi provjeravao pojedinacno prozor kodova koji mora stici.

Coder256 pet 22.1.2021 21:10

Narucio sam ovaj predajnik i prijemnik sa e radionice: https://e-radionica.com/hr/433mhz-rf-odasiljac-i-prijemnik.html

 

Medutim kad ga spojim (vcc, gnd i data na D11 ili D2, ovisno o kodu), ne dobijem nikakav rezultat u serial monitoru kad pritiskam tipke na daljinskome. Radim li nesto krivo ili?

 

Da napomenem, imam ovakva dva identicna rf prijemnika i isti je rezultat na oba...

 

Kod1:

 

/*
  Example for receiving
 
 https://github.com/sui77/rc-switch/
 
  If you want to visualize a telegram copy the raw data and
  paste it into http://test.sui.li/oszi/
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
    Serial.println("DATA: ");
    output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
    mySwitch.resetAvailable();
  }
}

 

 

Kod2:

 

#include "RH_ASK.h"
#ifdef RH_HAVE_HARDWARE_SPI
#include <SPI.h> // Not actually used but needed to compile
#endif  // pin 11 for data
 
RH_ASK driver_rx;   // kreiranje RH_ASK objekta

uint8_t buff[50];  // buffer
uint8_t bufflen = sizeof(buff); // veličina buffera u bajtovima
uint16_t value; // varijabla u kojoj će biti rekonstruirana vrijednost sa adc-a

void setup() {
  Serial.begin(9600); // zapocni serijsku komunikaciju
  if (!driver_rx.init()) { // ako receiver nije uspjesno inicijaliziran
    Serial.println("init failed");
  }
  
}
 
void loop() {

   if (driver_rx.recv(buff, &bufflen)) {// Non-blocking
     driver_rx.recv(buff, &bufflen);
    int i;
    // Message with a good checksum received, dump it.
    driver_rx.printBuffer("Got:", buff, bufflen);
  }
}

MrBlc čet 4.2.2021 07:39

ESP8266 je puno jeftiniji, slabiji je i nema BT. ESP32 je skuplji i za neke projekte je overkill.

 

Sad, glavno pitanje je što tebi treba, te da li si spreman čekati ili bi radije uzimao lokalno.

Coder256 čet 4.2.2021 16:08
MrBlc kaže...

ESP8266 je puno jeftiniji, slabiji je i nema BT. ESP32 je skuplji i za neke projekte je overkill.

 

Sad, glavno pitanje je što tebi treba, te da li si spreman čekati ili bi radije uzimao lokalno.

 Napravio bi otvaranje garaznih vrata preko interneta, znaci vrtio bi se neki web server na njemu i cekao naredbe za otvarati ili zatvarati vrata.

Uspio sam detektirati signal koji mi salje daljinski i emulirati ga sa svojim rf odasiljacem tako da znam da to radi, sad mi je sljedeci korak napravit mali iot daljinski.

 

BT mi nije neophodan, eventualno za lakse uploadanje koda, ako se moze bilo bi zgodno da ne moram stalno skidati kutiju u kojoj ce se nalazit i spajat kabelom na laptop.

 

Pretpostavljam da bi esp8266 bio sasvim dovoljan za vrtit web server ako izuzmemo BT spajanje? 

 

Za postenu razliku bi cekao paket jer mi nije toliko hitno, a ako je razlika 50kn onda bi ga radije narucio iz Hrvatske ili negdi iz Europe.

It'sMe932 čet 4.2.2021 17:04
Coder256 kaže...
MrBlc kaže...

ESP8266 je puno jeftiniji, slabiji je i nema BT. ESP32 je skuplji i za neke projekte je overkill.

 

Sad, glavno pitanje je što tebi treba, te da li si spreman čekati ili bi radije uzimao lokalno.

 Napravio bi otvaranje garaznih vrata preko interneta, znaci vrtio bi se neki web server na njemu i cekao naredbe za otvarati ili zatvarati vrata.

Uspio sam detektirati signal koji mi salje daljinski i emulirati ga sa svojim rf odasiljacem tako da znam da to radi, sad mi je sljedeci korak napravit mali iot daljinski.

 

BT mi nije neophodan, eventualno za lakse uploadanje koda, ako se moze bilo bi zgodno da ne moram stalno skidati kutiju u kojoj ce se nalazit i spajat kabelom na laptop.

 

Pretpostavljam da bi esp8266 bio sasvim dovoljan za vrtit web server ako izuzmemo BT spajanje? 

 

Za postenu razliku bi cekao paket jer mi nije toliko hitno, a ako je razlika 50kn onda bi ga radije narucio iz Hrvatske ili negdi iz Europe.

 Jel ti ESP ima pristup internetu? Ja bih to napravio pomoću Blynk aplikacije.

It'sMe932 čet 4.2.2021 17:32
Coder256 kaže...

Esp ce imat pristup internetu. Bas gledam blynk i cini se da dosta olaksava posao, jesi li je probao? Sve je plug n play? 

 

 Probao, koristio. Za ovo što ti trebaš kao stvoreno... Jako olakšava posao jer možeš doslovno od bilo kuda upravljati vratima.

It'sMe932 čet 4.2.2021 17:36
Coder256 kaže...

Jel preporucas esp8266 ili esp32? Jel 8266 dovoljno jak za te potrebe? Ako je dovoljno jak, je li se dvojba svodi na samo bt spajanje u mome slucaju?

Dovoljno je jak, ja sam preporučio ESP32 jer nisam znao što radiš... Brzina ti nije problem, samo vodi računa da imaš dovoljan broj pinova a mislim da imaš.

Ako ti treba BT ja bih išao na ESP32 ali dalo bi se i ESP8266-u dodati recimo HC-05 BT modul.

Matoje čet 4.2.2021 23:52

Da li je moguće spojiti ekran od smartpohne na arduino?
Imam doma Galaxy S3 koji ne radi pa ako bih mogao iskoristiti njegov ekran da ne kupujem TFT ekrane jer bi si htio složiti sim dash za volan tako da mi touchscreen nije potreban.

Ivan_hacker pet 5.2.2021 09:14

Jako tesko je iskoristiti stare ekrane, a u kombinaciji sa arduinom prakticki nemoguce. Prvi problem je nedostatak dokumentacije za same panele, nema nekog standarda kao sto je npr. LVDS/eDP na prijenosnicima, sto znaci da bi prvi korak bio reverse engineering citavog protokola.

Drugi problem je nedostatak snage, arduino (i velika vecina mikrokontrolera) jednostavno ne moze generirati takav signal. Prijedlog je da baziras projekt na raspberry pi ili nekom slicnom SBC-u, uz sluzbeno podrzane ekrane. Arduinu je vrhunac HD44780 ili mali oled paneli (sa mizernom rezolucijom od 128x64px)