Arduino Asksin library

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

Vorheriges Thema - Nächstes Thema

Tom71

#1080
@kadettilac89

Hallo,

der HM-Sensor -Sketch bricht bei mir mit DS18B20 ab:

HM-Sensor-DS:140: error: 'mStartOn' was not declared in this scope

           state = mStartOn;
----
        #ifdef DS18B20
          state = mStartOn;

Muss in das enum noch mStartOn rein?

enum mState {mInit, mWait, mPwrOn, mStartDS,mStartOn};

Der Sketch von linef funktioniert bei mir gut. Die Werte vom DS18B20  kommen in FHEM an. Ich habe nur immer noch Probleme mit der seriellen Ausgabe. Folgendes mache ich:

- Kompilieren mit Arduino IDE für "Arduino Pro or Pro Min, 3.3V, 8Mhz)
- Umwandeln der hex-> eq3
- Flashen per OTA

Dann kommt auf der Console:
AskSin OTA Bootloader V0.7.0

Start App ˜,¿­§¿£ÍÞ¿¬�¿ Þ�ãÓ£ÑÞ]œÑ


Die Kompiler-Params sind:

avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10609 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR   "-IC:arduino" "-IC:eightanaloginputs" "HM-Sensor-DS.ino.cpp" -o "nul"


Wie flashed ihr? Benutzt ihr einen Arduino? Ich benutze den Innensensor von Dirk. Das ist ein Atmega328P mit internen Oszillator.

Gruss Thomas
Homematic | RaspberryMatic

kadettilac89

Zitat von: Tom71 am 04 Juni 2016, 10:51:41
@kadettilac89

Hallo,

der HM-Sensor -Sketch bricht bei mir mit DS18B20 ab:

HM-Sensor-DS:140: error: 'mStartOn' was not declared in this scope

           state = mStartOn;
----
        #ifdef DS18B20
          state = mStartOn;


teste mal die Version, ich hab meine Änderungen in die neueste Version von githut eingearbeitet. copy paste error ..

wenns damit auch nicht geht muss ich mir das nochmal ansehen...


Linef

Zitat von: Tom71 am 04 Juni 2016, 10:51:41
@kadettilac89

HM-Sensor-DS:140: error: 'mStartOn' was not declared in this scope

           state = mStartOn;
----
        #ifdef DS18B20
          state = mStartOn;

Muss in das enum noch mStartOn rein?
...

In dem Sketch von kadettilac89 stimmt an der Stelle noch mehr nicht. Z.B. muß auch nach dem Start der Temperaturmessung ca. 700ms gewartet werden, bis die Messung ausgelesen werden kann. Das erfolgt auch nicht mehr.

Zitat von: Tom71
Ich habe nur immer noch Probleme mit der seriellen Ausgabe. Folgendes mache ich:
...
Dann kommt auf der Console:
AskSin OTA Bootloader V0.7.0

Start App ˜,¿­§¿£ÍÞ¿¬�¿ Þ�ãÓ£ÑÞ]œÑ

Schau mal, ob bei Dir im Main-Programm noch das Register OSCCAL gesetzt wird. Der Wert dort gilt nur für meinen spezifischen Controller. Bei meinem zweiten Nachbau musste hier schon wieder ein anderer Wert rein. Da kamen auch so seltsame Zeichen...
Am besten, du kommentierst das Setzen des Registers aus, dann nimmt der Atmel seinen Werksstandard (der bei jedem Exemplar ander ist) und läuft einigermaßen genau mit 8 MHz:


// Attention: your controller my have other factory calibration !!
// If you are unsure about the internal RC-frequency of your chip then comment out setting OSCCAL -
// use factory default instead!
// my chip: 1kHz - 8A=994Hz, 8B=998,4Hz, 8C=1001,6Hz, 8E=1010Hz
// frequency measured with help of millis-ISR (toggling LED port and measuring frequency on it)
uint8_t clk_corr=0x8B;
//OSCCAL = clk_corr;



Das Setzen des Registers bringt nur dann was, wenn man die Frequenz genau ausmisst. Dann kann man noch wenige Prozent Genauigkeit rausholen. Ist man ein paar Prozent über 8 MHz, dann funktioniert die serielle Übertragung nicht mehr, und es kommen solche seltsamen Zeichen...

Martin
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway

StephanAc

Hallo zusammen,

vielleicht kann mir jemand helfen. Ich habe folgendes Problem:

Bei Verwendung von newAsksin-master habe ich Daten empfangen und senden können, allerdings ist mir das Pairing nicht gelungen. Ich habe einen Systemkey in der original CCU2 hinterlegt, also dachte ich mir verwende ich die newAksin-dev Branch da diese ja scheinbar AES unterstützt.

Bei der dev Branch ist es nun so das ich keine Daten empfange. Für mich kann das eigentlich nur ein GD0 sein, also Pins überprüft ich finde es ist aber alles in Ordnung:

Log:

HM_LC_Dim1PWM_CV
AskSin-Lib V 0.2.4
wdt_cal: 264
EE.
crc, flash: 27882, eeprom: 27882
initDim: 1
initDim: 2
initDim: 3
SN.
RV.
HMID: 11 02 07, MAID: 00 00 00

<- 0E 00 80 10 11 02 07 00 00 00 06 01 00 00 00 (2291)



Ich verwende ein Ardurino Uno und ein cc1101 für 868MHz.
GD0 an Pin2/PD2


#define CC_CS                  PIN_B2 // chip select
// #define CC_GDO0                PIN_B2
#define CC_GDO0                PIN_D2 // GDO0 pin, identify data received on falling edge
#define CC_MISO                PIN_B4 // SPI port MISO
#define CC_MOSI                PIN_B3 // SPI port MOSI
#define CC_SCLK                PIN_B5 // SPI port Clock


Gruß und Dank,
Stephan

Tom71

Hallo Martin,
OSCCAL auskommentieren hat es gebracht. Und ich hatte schon soviel anderes probiert. Danke
Gruß Thomas


Gesendet mobil
Homematic | RaspberryMatic

Linef

Zitat von: StephanAc am 05 Juni 2016, 16:35:30
Bei Verwendung von newAsksin-master habe ich Daten empfangen und senden können, allerdings ist mir das Pairing nicht gelungen. Ich habe einen Systemkey in der original CCU2 hinterlegt, also dachte ich mir verwende ich die newAksin-dev Branch da diese ja scheinbar AES unterstützt.

Probier mal den DevAES Branch. Das ist der derzeit aktuellste Branch und hat AES Support.

Martin
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway

StephanAc

Zitat von: Linef am 05 Juni 2016, 23:24:48
Probier mal den DevAES Branch. Das ist der derzeit aktuellste Branch und hat AES Support.

Martin

Super danke !!! Gepaired Du hast mir echt Debugging-Zeit erspart. Nun kanns weitergehen.

Gruß und Dank,
Stephan

Stefan M.

#1087
Hallo zusammen
ich hab nun diesen CC1101 bekommen. Der sollte doch funktionieren oder ?

http://www.ebay.de/itm/868-Mhz-Funk-Modul-CC1101-FHEM-Selbstbau-CUL-Wireless-Transceiver-Arduino-F01P-/172116131449?hash=item2812ebbe79

Muss ich im Sketch (HM_LC_SW1_BA_PCB) was anpassen ?

Der Anschluss sollte auch passen.

Zitat
Farbe   Beschreibung   TRX868 schmal   TRX868 breit   CC1101     Arduino Pro Mini

rot            VCC 3,3 V          1                       8                     1 (VCC)         3,3 V
schwarz     GND                  2                      7                     2 (GND)         GND
weiß          SPI MOSI           3                      1                     3 (SI)             11
violett        SPI SCK            4                       2                    4 (SCLK)          13
grün          SPI MISO           5                       3                   5 (SO GDO1)    12
                                         6                       4                    6 (GDO2)         3
gelb          GDO0                 7                      5                    7 (GDO0)          2
blau          SPI CS               8                       6                    8 (CSn)           10

Irgendwie werden aber keine Daten Empfangen.

Serielles Output folgt noch

UPDATE 00:00 : Nochmal die Belegung geprüft Fehler gefunden jetzt funktioniert es.

Jetzt muss ich nur noch mit der Adressierung im Sketch klar kommen im Moment reagieren beide Modul auf Befehle aus FHEM.
Welche Adressen muss ich im Sketch anpassen damit ich unterschiedliche Devices bekomme?

LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

kadettilac89

Zitat von: Stefan M. am 10 Juni 2016, 23:42:56
Jetzt muss ich nur noch mit der Adressierung im Sketch klar kommen im Moment reagieren beide Modul auf Befehle aus FHEM.
Welche Adressen muss ich im Sketch anpassen damit ich unterschiedliche Devices bekomme?

In register.h hast du HMID udn Serial number, beide werden zum Pairen verwendet. Ändere mal die Werte damit hast du dann zwei unterschiedliche Devices. HMID z.B. 0x01, 0x02, 0x07 und Serial halt letzte Stelle 2.

const uint8_t HMSerialData[] PROGMEM = {
/* HMID */            0x01, 0x02, 0x06,
/* Serial number */   'H', 'B', 's', 'w', 'i', 't', 'c', 'h', '0', '1', // HBswitch01
/* Default-Key */     HM_DEVICE_AES_KEY,
/* Key-Index */       HM_DEVICE_AES_KEY_INDEX,

Stefan M.

Hallo kadettilac89

Danke für die Info.


uint16_t EEMEM eMagicByte;
uint8_t  EEMEM eHMID[3]  = {0x58,0x23,0xfe,};
uint8_t  EEMEM eHMSR[10] = {'X','M','S','1','2','3','4','5','6','8',};
uint8_t  EEMEM eHMKEY[16] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,};

// if HMID and Serial are not set, then eeprom ones will be used
uint8_t HMID[3] = {0x58,0x23,0xfe,};
uint8_t HMSR[10] = {'X','M','S','1','2','3','4','5','6','8',};          // XMS1234567
uint8_t HMKEY[16] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,};



mein Fehler war ich hatte die beiden Werte HMSR und HMKey angepasst und nicht HMID und HMSER.

Jetzt funktioniert es.

LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

kadettilac89

 
Zitat von: Stefan M. am 11 Juni 2016, 09:10:07

mein Fehler war ich hatte die beiden Werte HMSR und HMKey angepasst und nicht HMID und HMSER.

Jetzt funktioniert es.

LG
Stefan

Kleinigkeiten können so viel bewirken  8)


Stefan M.

Hallo zusammen
ich hab gleich noch eine Frage im Zusammenhang mit einem Funkmodul.
Ich hab noch ein TRX868-TFK-SL (schmale Bauform).
Ich habe es aus einem defekten (Wasserschaden) HM-Regensensor ausgebaut.
Kennt jemand eine Möglichkeit zu prüfen ob das Modul überhaupt noch funktionsfähig ist.
Ich habe es schon ersatzweise für das (breite) Modul angeschlossen, da hat sich aber gar nichts getan.
LG
Stefan

FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Linef

Zitat von: Stefan M. am 11 Juni 2016, 18:04:59
Kennt jemand eine Möglichkeit zu prüfen ob das Modul überhaupt noch funktionsfähig ist.
Ich habe es schon ersatzweise für das (breite) Modul angeschlossen, da hat sich aber gar nichts getan.
Ich denke, ums komplette Anschließen kommst Du nicht rum, da der Chip auf dem Modul erst programmiert werden muß, damit er sendet.
Und alleine dafür werden fast alle Anschlußleitungen benötigt.

Gruss,
Martin
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway

Stefan M.

Hi
ich hab das Modul schon komplett (alle Pins) an die funktionierende Schaltung  (Sketch HM_LC_SW1_BA_PCB) mit dem breiten Modul angeschlossen.

LG
Stefan

FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Linef

Wenn Du alles richtig angeschlossen hast, sollte es funktionieren. Laut Wiki sind breites und schmales Modul unterschiedlich belegt - aber ich denke, das hast Du beachtet.

Gruss,
Martin
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway