Arduino Asksin library

Begonnen von trilu, 06 August 2013, 10:02:17

Vorheriges Thema - Nächstes Thema

justme1968

#285
hast es ja doch verraten :P

ich probier es heute abend gleich aus.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

shaddi

Ich habe mich ein wenig nach "fertiger" Hardware umgesehen. Der PanStamp scheint der einzige zu sein, der einen AVR und den Funkchip drauf hat :(
Ich habe hier noch einen "ähnlichen" gefunden, allerdings mit eine m168: http://www.watterott.com/de/RFbee-V11 (warum tut man sowas?!)

PeterS

Hallo trilu

Habe mal etwas Code-Schnitzeljagd betrieben um den Fehler etwas einzugrenzen.
Wie gesagt funktioniert bei mir das pairing nicht mehr und nach den Aufruf von "p" wird nichts mehr erkannt.
Also habe ich alles resetet.

Es scheint als kann er bei mir keine HMID finden oder bilden und läuft ständig in die Senderoutine, weil send.counter > 0 ist ?!
Der Memory-Compare gibt mir zu denken.
Du hast die Routine startPairing etwas umgestellt. Könnte daran der Fehler liegen ?
NEU:
void    HM::startPairing(void) {                                    // send a pairing request to master
   //                               01 02    03                            04 05 06 07
   // 1A 00 A2 00 3F A6 5C 00 00 00 10 80 02 50 53 30 30 30 30 30 30 30 31 9F 04 01 01

   memcpy_P(send_payLoad, devParam, 17);                              // copy details out of register.h
   send_prep(send.mCnt++,0xA2,0x00,broadCast,send_payLoad,17);
}
ALT:
void HM::startPairing(void) {                                       // send a pairing request to master
   //                               01 02    03                            04 05 06 07
   // 1A 00 A2 00 3F A6 5C 00 00 00 10 80 02 50 53 30 30 30 30 30 30 30 31 9F 04 01 01

   uint8_t bCastID[3] = {0,0,0};                                    // size broadcast
   memcpy_P(send_payLoad, devParam, 17);                              // copy details out of register.h
   send_prep(send.mCnt++,0xA2,0x00,bCastID,send_payLoad,17);
}


Wenn ich testweise den send.counter auskommentiere, läuft alles stabil ! Fhem kann die LED schalten und alle Wettersensoren werden im Debug erlauscht.
Nur geht halt kein pairing :-)

void    HM::send_out() {
   if (bitRead(send.data[2],5)) send.retries = maxRetries;                  // check for ACK request and set max retries counter
   else send.retries = 1;                                          // otherwise send only one time

   send.burst = bitRead(send.data[2],4);                              // burst necessary?

   if (memcmp(&send.data[7], HMID, 3) == 0) {                           // if the message is addressed to us,
      memcpy(recv.data,send.data,send.data[0]+1);                        // then copy in receive buffer. could be the case while sending from serial console
      send.counter = 0;                                          // no need to fire
   } else {                                                   // it's not for us, so encode and put in send queue
      hm_enc(send.data);                                          // encode the string
//      send.counter = 1;                                          // and fire
   }

Gruss Peter

PeterS

Hi
Wo habt ihr euch den Arduino Mini Pro 3,3V bestellt ?
Günstige 3,3V Versionen habe ich noch keine entdeckt :D

Gruss Peter

trilu

Ich kaufe meine in China  8)
Bei ebay auf Weltweit, dann nach Arduino 8mhz suchen.
Kosten incl. Porto etwa5 Dollar.

Hab jetzt noch einen ganzen Schwung bei Alibaba geordert. Da kosten sie 3 Dollar,
Lieferung dauert so um die 4 Wochen  :(

justme1968

@shaddi: die xbee module sind eigentlich dafür gedacht mit einem XbeeShield auf einen arduino gesteckt zu werden. urspünglich gab es glaube ich nur zigbee module. danach wurden im gleichen form faktor dann bluetoth, wlan und eben das modul auf basis eines cc1101 herausgebracht.

der primäre anwendungsfall ist also nicht das ding stand allone zu betreiben sondern mit einem usb/serial converter an einem pc oder als funk modul an einem avr.

im vergleich zu einem panstamp mit arduino und cc1101 auf einem board sind es also eigentlich drei komponenten die dann zusammen eine ähnliche funktionalität geben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Rohan

Hi,

Zitat von: PeterS am 14 November 2013, 20:57:58... Wo habt ihr euch den Arduino Mini Pro 3,3V bestellt ? ...

Entweder (wie schon geschrieben) in Fernost oder (so wie ich ;) meine letzten 3) hier: http://www.exp-tech.de/Mainboards/Arduino-Pro-Mini-328-3-3V-8MHz.html

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

trilu

Vielleicht findet sich ja hier auch noch jemand der spass daran hat platinen zu den möglichen geräten zu entwickeln...

Dirk

Da kannst du aber von ausgehen :)

Ich habe schon einige Ideen
Ich habe mir zuvor aber auch schon ein paar der Arduinos bei Ali geordert.
Also Erste Idee hätte ich einen Wettersensor mit Luftdruck / Temperatur / Feuchte
Als alternative SW würde ich dann auch den FS20 / HMS Code für die Freunde von SlowRF beisteuern den ich in einigen Projekten schon verbaut habe.

Mit diesem Sensor liebäugle ich auch schon:
http://www.tme.eu/de/details/mikroe-1444/entwicklungsboards-sonstige/mikroelektronika/thunder-click/#

Gruß
Dirk

Jaydee

Hmmm, ich wollte schon fragen, ob es nicht günstig wäre direkt mit nem ATmega328P zu arbeiten, aber bei den Komplettpreisen für nen Arduino bei Alibaba, macht das wenig Sinn ;-)

PeterS

#295
Hallo trilu

An welche Platinen hattest du gedacht ?
Ein grosser Punkt ist wie immer die Stromversorgung der Einheiten.
Diese ist wieder abhängig von den Sensoren und Aktoren.

Mir schwebt immer noch ein universeller Spannungssensor (12 - 230V) vor.
Hier könnten alle möglichen Zustände (Licht, Pumpe, Klingel, etc.) überwacht und an Fhem gemeldet werden.
Die wäre aber auch mit einem Homematic Fensterkontakt in Kombination mit einer Vorschaltung möglich.
Aber mal schauen ...  ;D

Gruss Peter

trilu

#296
ich meinte damit endgeräte spezifische platinen.
rgb dimmer auf lochraster ist nicht schön :-)

oder auch eine wetterstation auf lochraster sieht doof aus ....


so, mal wieder ein update. ich habe festgestellt das martin vermutlich was in der hmconfig.pm geändert hat und deswegen das getstatus nicht mehr richtig beantwortet wurde.
-> 10 08 A0 01 63 19 63 2F B7 4A 00 04 00 00 00 00 00 (l:17)(124923)
S- 14 08 A0 10 2F B7 4A 63 19 63 02 02 01 0A 63 0B 19 0C 63 00 00 (l:21)(124936)

hier wird list0 von channel0 abgefragt. das zweite byte, also die 08 ist der message counter. ich hatte hier meinen eigenen counter verwendet, es muss aber mit dem counter der zentrale geantwortet werden. naja, muss man erst mal drauf kommen :-)))

das ist eine erfolgreiche pairing sequenz:
S- 1A 00 A2 00 2F B7 4A 00 00 00 10 00 57 50 53 30 30 30 30 30 30 30 31 9F 41 01 01 (l:27)(114565)
<- sendStr (114569)
-> 10 04 A0 01 63 19 63 2F B7 4A 00 05 00 00 00 00 00 (l:17)(114792)
S- 0A 04 80 02 2F B7 4A 63 19 63 00 (l:11)(114798)
<- sendStr (114870)
-> 13 05 A0 01 63 19 63 2F B7 4A 00 08 02 01 0A 63 0B 19 0C 63 (l:20)(115175)
S- 0A 05 80 02 2F B7 4A 63 19 63 00 (l:11)(115193)
<- sendStr (115195)
-> 0B 06 A0 01 63 19 63 2F B7 4A 00 06 (l:12)(115492)
S- 0A 06 80 02 2F B7 4A 63 19 63 00 (l:11)(115499)
<- sendStr (115501)
-> 0B 07 A0 01 63 19 63 2F B7 4A 01 0E (l:12)(120866)
S- 0E 07 A4 10 2F B7 4A 63 19 63 06 01 00 00 00 (l:15)(120872)
<- sendStr (120877)
-> 0A 07 80 02 63 19 63 2F B7 4A 00 (l:11)(121024)
-> 10 08 A0 01 63 19 63 2F B7 4A 00 04 00 00 00 00 00 (l:17)(124923)
S- 14 08 A0 10 2F B7 4A 63 19 63 02 02 01 0A 63 0B 19 0C 63 00 00 (l:21)(124936)
<- sendStr (124940)
-> 0A 08 80 02 63 19 63 2F B7 4A 00 (l:11)(125089)
-> 10 09 A0 01 63 19 63 2F B7 4A 01 04 00 00 00 00 01 (l:17)(125366)
S- 0E 09 A0 10 2F B7 4A 63 19 63 02 08 00 00 00 (l:15)(125374)
<- sendStr (125378)
-> 0A 09 80 02 63 19 63 2F B7 4A 00 (l:11)(125526)
-> 0B 0A A0 01 63 19 63 2F B7 4A 01 03 (l:12)(125796)
S- 0E 0A A0 10 2F B7 4A 63 19 63 01 00 00 00 00 (l:15)(125804)
<- sendStr (125806)
-> 0A 0A 80 02 63 19 63 2F B7 4A 00 (l:11)(125954)


viel spass beim testen!

justme1968

das panstamp rgb board aus dem bastel thread sollte mit einem passenden sketch auch für homematic funktionieren. es braucht dann aber noch das passende fhem gegenstück das mit den drei oder mehr kanälen klar kommt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dirk

#298
Zitatich meinte damit endgeräte spezifische platinen.
rgb dimmer auf lochraster ist nicht schön :-)
Wie gesagt, ich bin dabei und würde die Platinen entwerfen.

Ich würde das ganze dann auch gerne modular bauen.
Nicht jeder braucht / möchte in der Station z.B. einen Gewitterdetector / Luftdrucksensor / ...
Also Optionen für einen kombinierten Wettersensor hätte ich folgende Ideen:
- Temperatur / Feuchte
- Luftdruck / Temperatur (BMP180)
- Gewittersensor (AS3935 bzw. unten genannte Sensorplatine, leider ist das Teil nicht ganz so günstig)
- Helligkeitssensor
- CO2 / Gassensor
- Weitere Ideen ?

Das ganze hätte ggf. auf eine Art Universalplatine an der man nur die benötigten Sensoren bestückt.
Evtl macht es ja auch Sinn die Sensoren für fertige Wetterstationen (z.B. den Kombi-Wettersensor KS-300) oder auch andere hier anschließen zu können.

Weitere Ideen sind dann
RGB / Bzw. Multikanal-Dimmer (Hier würde ich sogar bis zu 6 Kanäle vorsehen alle Hardware PWM
10 Bit mit konfigurierbarer Helligkeitstabelle für eine für's Auge liniare Heligkeitskurve. Der Code liegt schon hier und funktioniert seit ein Paar Jahren. Allerdings auf FS20 Basis.

Als weitere Idee hätte ich noch eine Homematic - IR Brücke.
Damit könnte man dann auch einfach Geräte in FHEM einbinden die nur per IR steuerbar sind.

Gruß
Dirk

PeterS

Hallo Dirk
Ein Spannungssensor wäre sicherlich noch nützlich (Spannung liegt (nicht) an).
Wie hast du dir die Platine den gedacht ?
Als Trägerplatine fur den Arduino Mini Pro + optionale austauschbare Boards für die Komponenten?
Oder einfach eine Platine als Ersatz für die Lochraster und mit Freiluftverdrahtung ?

Gruss Peter