Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

DDAndreas
Beiträge: 21
Registriert: 03.04.2022, 16:23
System: CCU
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von DDAndreas » 12.12.2022, 19:24

Frankinho hat geschrieben:
12.12.2022, 19:02
Hallo Andreas, nochmal zu meiner Frage. Was fängt man da am besten mit an?
Ich habe zwar wenig Zeit. Aber jetzt die bestückten rumliegen
Hallo Frank, ich habe damit Bodenfeuchtesensoren gebaut, davon sind 15 Stück mit jeweils 2 Sensoren in meinem Garten und noch einige in den Zimmerpflanzen, es werden aber noch mehr. Aber es gibt viele Möglichkeiten, was für ein Problem wolltest du denn damit lösen?

Frankinho
Beiträge: 41
Registriert: 29.04.2017, 08:10
Hat sich bedankt: 12 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von Frankinho » 12.12.2022, 20:35

Ich habe mich einfach damals vor 3 Jahren mit Wemos Projekten beschäftigt. Und in mein Haus läuft vieles mit Homematic. Da war die Schnittstelle der Überlegung.
Aktuell benutze ich einfache 8er Aktoren.

Eine Idee war Temperatur/ Luftfeuchtigkeit anstatt dieser Wemos Wifi Module

Aber eigentlich fehlt mir die Zeit

Frankinho
Beiträge: 41
Registriert: 29.04.2017, 08:10
Hat sich bedankt: 12 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von Frankinho » 31.12.2022, 11:08

Hallo Andreas,
jetzt habe ich mich mal wieder selbst überredet weiter zu machen.
Denkst du das es machbar ist die Platinen als HM-MOD-Re-8 aufzubauen. Und dann direkt eine 8er 5V Relaisplatine zu steuern?

Grüße
Frank

schönen Rutsch

DDAndreas
Beiträge: 21
Registriert: 03.04.2022, 16:23
System: CCU
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von DDAndreas » 01.01.2023, 17:41

Hallo Frank,

ich kenn das HM-MOD-Re-8 nicht, daher kann ich dazu nichts sagen. Sieht mir aber nicht nach einer praktikablen Lösung aus.

Viele Grüße und ebenfalls einen gutes neues Jahr.

sickboy2711
Beiträge: 250
Registriert: 12.11.2011, 16:58
System: CCU
Wohnort: Schweiz
Hat sich bedankt: 25 Mal
Danksagung erhalten: 6 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von sickboy2711 » 29.01.2023, 16:20

Hallo zusammen

Ich habe mir auf Basis des tmStamp das HB-UNI-Sen-DUMMY-BEACON https://github.com/jp112sdl/HB-UNI-Sen-DUMMY-BEACON von Jérôme gebaut. Der Aufbau hat soweit ganz gut geklappt.

Die optionalen Features (I2C. IC4, IC5, IC3, T2 &T1) habe ich nicht verbaut und den S2 gebrückt.

Da ja auf dem tmStamp die Belegung des Config Buttons & der LED ander sind als in den meisten Sketchen habe ich den Sketch wie folgt angepasst:

Code: Alles auswählen

#define SYS_LED_PIN        3
#define OK_LED_PIN         5
#define ERROR_LED_PIN      6

using namespace as;

struct FakeDeviceInfo {
  HMID FakeDeviceID;

  // known timeouts
  // 552, 600, 1200, 3600, 10000, 259200, 40000, 88200, 259200, 1209600
  uint32_t CyclicTimeout;

  bool     Enabled;
  uint32_t CurrentTick;
};

FakeDeviceInfo fakeDevice[MAX_FAKEDEVICE_COUNT];
StatusLed<ERROR_LED_PIN>  errorLed;
#include "HB_MultiChannelDevice.h"
#define CONFIG_BUTTON_PIN  4
#define PEERS_PER_CHANNEL  1
#define CYCLIC_MSG_TIMEOUT 3600  // seconds between sending information about en-/disabled fake devices to ccu
Das Flashen (vorher natürlich den FreqTest durchgeführt) hat nach ein paar Anläufen dann auch funktioniert:

Code: Alles auswählen

Der Sketch verwendet 18048 Bytes (58%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 1091 Bytes (53%) des dynamischen Speichers, 957 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
"C:\Users\Startklar\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\Startklar\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v  -patmega328p -carduino "-PCOM3" -b57600 -D "-Uflash:w:C:\Users\Startklar\AppData\Local\Temp\arduino-sketch-E1428476A1309718817F62797108EB62/HB-UNI-Sen-DUMMY-BEACON.ino.hex:i"

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Startklar\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.16
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\Startklar\AppData\Local\Temp\arduino-sketch-E1428476A1309718817F62797108EB62/HB-UNI-Sen-DUMMY-BEACON.ino.hex"
avrdude: writing flash (18048 bytes):

Writing | ################################################## | 100% 9.02s

avrdude: 18048 bytes of flash written
avrdude: verifying flash memory against C:\Users\Startklar\AppData\Local\Temp\arduino-sketch-E1428476A1309718817F62797108EB62/HB-UNI-Sen-DUMMY-BEACON.ino.hex:
avrdude: load data flash data from input file C:\Users\Startklar\AppData\Local\Temp\arduino-sketch-E1428476A1309718817F62797108EB62/HB-UNI-Sen-DUMMY-BEACON.ino.hex:
avrdude: input file C:\Users\Startklar\AppData\Local\Temp\arduino-sketch-E1428476A1309718817F62797108EB62/HB-UNI-Sen-DUMMY-BEACON.ino.hex contains 18048 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 7.61s

avrdude: verifying ...
avrdude: 18048 bytes of flash verified

avrdude done.  Thank you.
Leider bekomme ich das Anlernen an die CCU nicht hin (kein neues Gerät im Posteingang der CCU), der serielle Monitor gibt mir folgende Ausgabe:

Code: Alles auswählen

15:50:15.852 -> AskSin++ v5.0.2 (Jan 29 2023 15:49:46)
15:50:15.852 -> Address Space: 32 - 140
15:50:15.852 -> CC init1
15:50:15.852 -> CC Version: 04
15:50:15.884 ->  - ready
15:50:15.884 -> ch 1, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 2, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 3, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 4, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 5, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 6, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 7, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 8, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:15.974 -> ch 8, BROADCASTING OWN MSG
15:50:15.974 -> <- 0B 01 84 53 F3FF00 000000 08 00  - 137
15:50:16.192 -> ch 7, BROADCASTING OWN MSG
15:50:16.238 -> <- 0B 02 84 53 F3FF00 000000 07 00  - 370
15:50:16.437 -> ch 6, BROADCASTING OWN MSG
15:50:16.437 -> <- 0B 03 84 53 F3FF00 000000 06 00  - 602
15:50:16.657 -> ch 5, BROADCASTING OWN MSG
15:50:16.704 -> <- 0B 04 84 53 F3FF00 000000 05 00  - 835
15:50:16.885 -> ch 4, BROADCASTING OWN MSG
15:50:16.921 -> <- 0B 05 84 53 F3FF00 000000 04 00  - 1069
15:50:17.125 -> ch 3, BROADCASTING OWN MSG
15:50:17.169 -> <- 0B 06 84 53 F3FF00 000000 03 00  - 1300
15:50:17.365 -> ch 2, BROADCASTING OWN MSG
15:50:17.401 -> <- 0B 07 84 53 F3FF00 000000 02 00  - 1533
15:50:17.605 -> ch 1, BROADCASTING OWN MSG
15:50:17.605 -> <- 0B 08 84 53 F3FF00 000000 01 00  - 1765
15:50:23.884 ->  debounce
15:50:23.930 ->  pressed
15:50:26.872 ->  longpressed
15:50:29.899 ->  longpressed
15:50:29.899 -> RESET
15:50:29.945 -> AskSin++ v5.0.2 (Jan 29 2023 15:49:46)
15:50:29.945 -> Address Space: 32 - 140
15:50:29.945 -> 00000000
15:50:29.945 -> Init Storage: CAFEE033
15:50:30.757 -> CC init1
15:50:30.757 -> CC Version: 04
15:50:30.882 ->  - ready
15:50:30.882 -> ch 1, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 2, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 3, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 4, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 5, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 6, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 7, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 8, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:50:30.882 -> ch 8, BROADCASTING OWN MSG
15:50:30.882 -> <- 0B 01 84 53 F3FF00 000000 08 00  - 966
15:50:31.092 -> ch 7, BROADCASTING OWN MSG
15:50:31.092 -> <- 0B 02 84 53 F3FF00 000000 07 00  - 1198
15:50:31.316 -> ch 6, BROADCASTING OWN MSG
15:50:31.349 -> <- 0B 03 84 53 F3FF00 000000 06 00  - 1431
15:50:31.556 -> ch 5, BROADCASTING OWN MSG
15:50:31.599 -> <- 0B 04 84 53 F3FF00 000000 05 00  - 1662
15:50:31.765 -> ch 4, BROADCASTING OWN MSG
15:50:31.810 -> <- 0B 05 84 53 F3FF00 000000 04 00  - 1896
15:50:32.019 -> ch 3, BROADCASTING OWN MSG
15:50:32.019 -> <- 0B 06 84 53 F3FF00 000000 03 00  - 2127
15:50:32.244 -> ch 2, BROADCASTING OWN MSG
15:50:32.283 -> <- 0B 07 84 53 F3FF00 000000 02 00  - 2361
15:50:32.468 -> ch 1, BROADCASTING OWN MSG
15:50:32.500 -> <- 0B 08 84 53 F3FF00 000000 01 00  - 2594
15:51:07.250 -> AskSin++ v5.0.2 (Jan 29 2023 15:49:46)
15:51:07.250 -> Address Space: 32 - 140
15:51:07.250 -> CC init1
15:51:07.250 -> CC Version: 04
15:51:07.374 ->  - ready
15:51:07.374 -> ch 1, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 2, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 3, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 4, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 5, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 6, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 7, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 8, FakeDeviceID = 000000, Enabled = 0, CyclicTimeout = 0
15:51:07.374 -> ch 8, BROADCASTING OWN MSG
15:51:07.374 -> <- 0B 01 84 53 F3FF00 000000 08 00  - 137
15:51:07.596 -> ch 7, BROADCASTING OWN MSG
15:51:07.596 -> <- 0B 02 84 53 F3FF00 000000 07 00  - 370
15:51:07.820 -> ch 6, BROADCASTING OWN MSG
15:51:07.855 -> <- 0B 03 84 53 F3FF00 000000 06 00  - 602
15:51:08.060 -> ch 5, BROADCASTING OWN MSG
15:51:08.103 -> <- 0B 04 84 53 F3FF00 000000 05 00  - 835
15:51:08.283 -> ch 4, BROADCASTING OWN MSG
15:51:08.319 -> <- 0B 05 84 53 F3FF00 000000 04 00  - 1067
15:51:08.524 -> ch 3, BROADCASTING OWN MSG
15:51:08.566 -> <- 0B 06 84 53 F3FF00 000000 03 00  - 1300
15:51:08.748 -> ch 2, BROADCASTING OWN MSG
15:51:08.783 -> <- 0B 07 84 53 F3FF00 000000 02 00  - 1533
15:51:08.984 -> ch 1, BROADCASTING OWN MSG
15:51:09.030 -> <- 0B 08 84 53 F3FF00 000000 01 00  - 1765
15:51:49.200 ->  debounce
15:51:49.246 ->  pressed
15:51:49.338 ->  released
15:51:49.415 -> <- 1A 09 84 00 F3FF00 000000 10 F3 FF 4A 50 42 45 41 43 4F 4E 30 30 53 08 01 01  - 41998
Ich glaube nicht das es noch viel braucht aber ich überseh' bestimmt etwas.

Wär' cool wenn ich einen Denkanstoss von euch bekommen könnte.

Vielen Dank schon mal

DDAndreas
Beiträge: 21
Registriert: 03.04.2022, 16:23
System: CCU
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von DDAndreas » 29.01.2023, 17:05

Jérômes Addon installiert? Zum Anlernen Button kurz drücken, müsste eigentlich klappen. Aber ganz tief bin ich da auch nicht drin, ASKIN++ ist für mich als c# Entwickler schwierig zu verstehen.

AG, Andreas

HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von HMSteve » 29.01.2023, 17:42

Weiss jetzt leider nicht aus dem Kopf, ob der Dummy Beacon auch eine im EEPROM gespeicherte Frequenzconfig nutzt. Zumindest sieht man das in Deinem Log nicht. Vielleicht hoert die CCU Dein Geraet nicht. Versuch mal, den FrequTest zu wiederholen und merk Dir die beiden Werte, die er ermittelt. Die kannst Du, zumindest testweise, nach dem device init im Setup des Sketch wie folgt eintragen:

Code: Alles auswählen

hal.radio.initReg(CC1101_FREQ1, 0x65);
hal.radio.initReg(CC1101_FREQ0, 0xXY);
Wenn Dein Modul nicht ganz weit draussen ist, muesste die 0x65 stimmen, sonst die auch anpassen und das unterste config byte XY setzen.

Viele Gruesse,
Stephan

sickboy2711
Beiträge: 250
Registriert: 12.11.2011, 16:58
System: CCU
Wohnort: Schweiz
Hat sich bedankt: 25 Mal
Danksagung erhalten: 6 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von sickboy2711 » 29.01.2023, 18:17

DDAndreas hat geschrieben:
29.01.2023, 17:05
Jérômes Addon installiert? Zum Anlernen Button kurz drücken, müsste eigentlich klappen. Aber ganz tief bin ich da auch nicht drin, ASKIN++ ist für mich als c# Entwickler schwierig zu verstehen.

AG, Andreas
Ja sicher :D

sickboy2711
Beiträge: 250
Registriert: 12.11.2011, 16:58
System: CCU
Wohnort: Schweiz
Hat sich bedankt: 25 Mal
Danksagung erhalten: 6 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von sickboy2711 » 29.01.2023, 18:37

HMSteve hat geschrieben:
29.01.2023, 17:42
Weiss jetzt leider nicht aus dem Kopf, ob der Dummy Beacon auch eine im EEPROM gespeicherte Frequenzconfig nutzt. Zumindest sieht man das in Deinem Log nicht. Vielleicht hoert die CCU Dein Geraet nicht. Versuch mal, den FrequTest zu wiederholen und merk Dir die beiden Werte, die er ermittelt.

Viele Gruesse,
Stephan
Hallo Stephan

Scheinbar hat der Dummy Beacon dieses Feature, ein erneuter Frequenztest ergab folgendes:

Code: Alles auswählen

18:16:25.033 -> Done: 0x2165DA - 0x2166AA
18:16:25.033 -> Calculated Freq: 0x216642 868.386 MHz
18:16:25.033 -> Store into config area: 6642...stored!
18:16:25.144 -> 
18:16:25.144 -> Old Config Freq was: 0x216642 868.386 MHzGoing to sleep...
Die Alte und neue Frequenz ist die Gleiche.

Vieleicht eine dumme Frage eines Unwissenden, aber welchen Wert musste ich nach diesem Ergebnis denn eintragen? Der Frequenzrechner von Tom

Code: Alles auswählen

https://github.com/TomMajor/SmartHome/blob/master/Info/CC1101_Frequenz/CC1101_Frequenz.xlsx
gibt ja einen 6 stelligen Wert aus

Code: Alles auswählen

MHz	FREQ[23:0] dez		FREQ[23:0] hex	
			
868.386000	2188867.1	216643	papa's Original
868.311000	2188678.1	216586	75 kHz tiefer
868.461000	2189056.2	216700	75 kHz höher


HMSteve
Beiträge: 539
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Vorstellung: tmStamp - kleine AskSinPP Universalplatine basierend auf Arduino Pro Mini

Beitrag von HMSteve » 29.01.2023, 19:01

Hallo,

ja, der FreqTest schreibt, aber man sieht im seriellen log des DummyBeacon nicht, dass dieser die Werte auch nutzt.
Der CC1101 hat drei Config-Register fuer die Sendefrequenz. Das obere mit dem Wert 0x21 muessen wir hier nicht aendern. Das mittlere und untere muessen entsprechend dem Ergebnis Deines FreqTest so aussehen:

Code: Alles auswählen

hal.radio.initReg(CC1101_FREQ1, 0x66);
hal.radio.initReg(CC1101_FREQ0, 0x42);
Viele Gruesse,
Stephan

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“