Forum: Mikrocontroller und Digitale Elektronik Funk(RFM12) Alarmanlage + Bewegungsmelder


von Marlon S. (marlon_s)


Lesenswert?

Guten Tag liebes Forum,
ich möchte das oben genannte Projekt realisieren.
Bis jetzt habe ich nur kleine Projekte realisiert und möchte mich nun an 
etwas größeres wagen. Grundsätzlich programmier ich in C würde aber wenn 
es sich nicht vermeiden lässt eine neue lernen.

Nun zum Projekt:
Bewegungsmelder(1x,2y,3z,4p,5q) => Atiny13 => RFM12) == (1)RFM12 => 
Atmega8 => PORT(1x,2y,3z,4p,5q))

Ich hatte vor mich an diesem Projekt zu orientieren.
http://julian-portik.de/index.php?location=8&id=4

Sowie ich das sehe muss ich nur statt das Empfangs Bit über den URAT 
ausgeben, es in eine Variable speichern?
Mein zweites Problem ist es das ich 5 Bewegungsmelder habe die Alle auf 
einem Empfänger Modul Funken, also müsste ich eine art Identifizierung 
realisieren. Und ich weiß nicht wie :( !
Bis jetzt habe ich mir gedacht jeder schickt ein Paket (Inhalt egal) 
wenn das Paket mit der abgespeicherten variable über einstimmt soll 
Portx auf high gestellt werden.

ALSO:
1x. Bewegungsmelder (high) => (input)Atiny13 sendet z.b. 
0b010101001010110101 => RFM12 == RFM12 => (erkennt BIT muster) Atmega8 
=> PORTx high

Würde das so funktionieren wie ich mir das vorgestellt habe?
Und könnte mir jemand ein beispiel geben wie der veränderte Code aus 
sieht um das BIT muster nicht über den URAT auszugeben sondern in eine 
Variable zu speichern( gerne auch Tutorials) ?(Bin was das betrift 
blutiger Anfänger).

VG, Marlon S.

Ich entschuldige mich jetzt schon mal für Rechtschreib und 
Grammatikfehler.

: Verschoben durch User
von Rainer B. (katastrophenheinz)


Lesenswert?

Ich glaube, das projekt ist eine nummer zu gross für deine 
vorkenntnisse. Damit will ich nicht sagen, vergiss es, sondern eigne dir 
weitere grundlagen in form von programmierkenntnissen, entwurfsmustern, 
rfm12- bzw. anderen funkmodul-grundlagen an, bevor du dich an dein 
projekt wagst. Sonst endet das in enttäuschung und frust.

Und dann nimm dir eine vorhandene "referenzimplementierung" für deine 
problemklasse, z.B OpenHR20.

http://embdev.net/topic/118781?goto=new#new

Hier gehts darum, HR20 heizungsthermostaten zu vernetzen. Schmeiss alles 
raus, was HR20-spezifisch ist, was überbleibt ist die protokollschicht. 
Diese kannst du dann, nachdem du die funktion verstanden hast, für deine 
bewegungsmelder verwenden und an deine bedürfnisse anpassen, z.B. den 
rückmeldekanal nahezu echtzeitfähig zu machen.

Hört sich mörderaufwändig an, ist es vllt auch, aber du hast eine solide 
grundlage für dein projekt und lernst nebenbei ne ganze menge.

von Marlon S. (marlon_s)


Lesenswert?

Du hast warscheinlich recht! Ich werde erstmal gucken das ich ein 
austausch von Daten ohne Funk hinkriege, über den URAT.

Würde der Atiny13 überhaupt geeignet sein?

Und war es verständlich das ich mir fünf Platinen mit jeweils ein 
Bewegungsmelder ,ein Atiny13 und ein RFM12 Modul bauen möchte. Die alle 
auf einen Empfänger funcken Atmega8 mit RFM12 Modul?

VG, Marlon S.

von spess53 (Gast)


Lesenswert?

Hi

>Und war es verständlich das ich mir fünf Platinen mit jeweils ein
>Bewegungsmelder ,ein Atiny13 und ein RFM12 Modul bauen möchte. Die alle
>auf einen Empfänger funcken Atmega8 mit RFM12 Modul?

Und wie willst du sicherstellen, das nicht zwei Sender gleichzeitig 
aktiv werden?

MfG Spess

von Alex (Gast)


Lesenswert?

Ist es relevant zu wissen, welcher ausgelöst hat Oder reicht es zu 
wissen, dass einer ausgelöst hat, ohne zu wissen welcher?

von Marlon S. (marlon_s)


Lesenswert?

Da drüber habe ich mir noch keine Gedanken gemacht. Würde aber spontan 
sagen das ich eine "Uhr" ein programmier wo sich dann der atiny13 zu 
orientieren hat. Jedes Modul würde dann ein eigenen Zeit Bereich 
bekommen.

VG, Marlon S.

von Marlon S. (marlon_s)


Lesenswert?

Alex schrieb:
> Ist es relevant zu wissen, welcher ausgelöst hat Oder reicht es zu
> wissen, dass einer ausgelöst hat, ohne zu wissen welcher?

Es ist relevant zu wissen welcher ausgelöst hat deswegen soll auch jeder 
ein BIT-musster bekommen.

Das ganze soll dann durch 5 LEDs dargestellt werden.

VG, Marlon S.

von Rainer B. (katastrophenheinz)


Lesenswert?

> Würde der Atiny13 überhaupt geeignet sein?
Ich schätze nicht. Denn allein um das funkprotokoll zu implementieren 
und darin das oben angesprochene problem des gleichzeitigen sendens z.b. 
durch timeslots zu umgehen, wirst du einigen aufwand treiben müssen, 
d.h. Flash belegen.

Die auswahl eines geeigneten uC ist jedoch mMn dein kleinstes problem.

von Marlon S. (marlon_s)


Lesenswert?

Rainer B. schrieb:
> Die auswahl eines geeigneten uC ist jedoch mMn dein kleinstes problem.

Das denke ich auch :) . Könnt ihr mir trotzdem ein empfehlen?(damit ich 
schon mal bestellen kann.)

VG, Marlon S.

von Rainer B. (katastrophenheinz)


Lesenswert?

Ich würde mit nem mega328 anfangen, z.b. Den hier
https://www.chip45.com/products/crumb328-2.3_avr_atmega_modul_board_atmega328_usb.php

Oder irgendeine arduino kompatible hw.

an rfm12-modul 10pol flachbandkabel anlöten, andere seite 
flachbandstecker aufquetschen, per jumper wires verbinden - fertig.

von Marlon S. (marlon_s)


Lesenswert?

Rainer B. schrieb:
> Ich würde mit nem mega328 anfangen, z.b. Den hier
> 
https://www.chip45.com/products/crumb328-2.3_avr_atmega_modul_board_atmega328_usb.php
>
> Oder irgendeine arduino kompatible hw.
>
> an rfm12-modul 10pol flachbandkabel anlöten, andere seite
> flachbandstecker aufquetschen, per jumper wires verbinden - fertig.

Danke für den Hinweis. Der kommt leider preislich nicht in Frage! In 
dieser Preisklasse würde ich dann schon eher zu einem Odroid-W greifen.

http://www.pollin.de/shop/dt/OTQ2OTgxOTk-/Bausaetze_Module/Entwicklerboards/ODROID_W_Einplatinen_Computer_ARM11_700_MHz_512_MB.html

Das ganze soll auch so klein wie möglich gehalten werden. Ich gucke auch 
nochmal selber.

VG, Marlon S.

von oszi40 (Gast)


Lesenswert?

Marlon S. schrieb:
> Würde das so funktionieren wie ich mir das vorgestellt habe?

Eine Alarmanlage funktioniert nur dann gut, wenn sie ausreichend 
zuverlässig ist. Bei Funk wäre ich mir da nicht so sicher, da die 
benutzen Funkbereiche jederzeit gestört werden können. Ein stabiles 
Gitter ist oft wirksamer als eine Anlage, die signalisiert, daß der 
Einbrecher schon drin ist.

von Marlon S. (marlon_s)


Lesenswert?

Die Anlage soll im Outdoor bereich genutzt und mobil befestigt werden 
deswegen kommt nur Funk in Frage. Das dieser störanfälliger ist, ist mir 
bewusst.

VG, Marlon S.

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

>Das dieser störanfälliger ist, ist mir bewusst.

Dann setze halt bidirektionale Transceiver ein.

MfG Spess

von Marlon S. (marlon_s)


Lesenswert?

Ein kleines update:
Ich bin inzwischen weiter gekommen,
und habe mich entschieden vom RFM12 auf den ESP8266 umzusteigen. Dieser 
wird dann im standalone betrieb vom Bewegungsmelder aufgeweckt und 
sendet ein tcp Befehl an die Basisstation.

Die Basisstation ist soweit fertig und funktioniert auch. Benutzt wird 
ein atmega32u4 für einfaches updaten über usb ESP8266-03 als 
hotspot/Empfänger und ein SSD1306 zur Anzeige.
Die Problematik ist momentan noch der ESP8266 im standalone da ich mit 
der SDK nicht ganz klar komme ;).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.