Hallo Forum,
mein Titel oben verrät schon meine Frage.
Ist den das C++ welches man am Pi schreibt das gleiche wie wenn ich für den Arduino ein Programm schreibe?
danke Lars
Hallo Forum,
mein Titel oben verrät schon meine Frage.
Ist den das C++ welches man am Pi schreibt das gleiche wie wenn ich für den Arduino ein Programm schreibe?
danke Lars
ist RPi C++ gleich Arduino C++?? Schau mal ob du hier fündig wirst!
> Ist den das C++ welches man am Pi schreibt das gleiche wie wenn ich für den Arduino ein Programm schreibe?
Im Prinzip JA, weil C++ standardisiert ist.
Aber es gibt natuerlich Unterschiede bei den Compilern. Nicht alle unterstuetzen schon die neuste Version des Standards,
und es gibt immer wieder spezifische Erweiterungen gegenueber der Norm.
Und weil das Memory auf dem Arduino doch sehr beschraenkt ist, wird ein Teil der C++ Standardlibrary dort nicht laufen.
danke für die Antwort.
kann ich den aber per wget einen datensatz von dem arduino an den raspberry schicken?
Lars
Mach es doch per UART.
Was meinst Du mit "Datensatz"? Was willst Du überhaupt machen?
Der ESP soll ein MCP9808 bekommen und vom balkon aus via WLAN die Tempdaten an den PI schicken.
ESP16(8266) oder ESP32
Ah okay.
Nun ja, Du brauchst ein Stück Software, die den Sensor ausliest und die Daten über HTML zur Verfügung stellt, dann kannst Du die HTML Seite per WGET runterladen und den Wert rausparsen, das würde gehen.
Aber ob WLAN das Richtige dafür ist?
Hi MagicBird,
kann ich den aber per wget einen datensatz von dem arduino an den raspberry schicken?
mal ganz abgesehen davon, dass man sich i.d.R. mit wget was von einem Server holt ...
Was hat das mit C++ der Arduino IDE zu tun?
Der ESP soll ein MCP9808 bekommen und vom balkon aus via WLAN die Tempdaten an den PI schicken.
Der ESP kann über die integrierten TCP/IP STacks einen Webserver zur Verfügung stellen, den Du mit wget ansprechen kannst.
Allerdings verstehe ich den Zusammenhang mit Deiner Frage nach dem Dialekt der Arduino IDE immer noch nicht ...
cu,
-ds-
Wie wäre es mit MQTT?
Ist für den ESP gut implementiert und für den Raspberry gibt es den Mosquitto Client, der die Daten empfängt.
Der ESP soll ein MCP9808 bekommen
warum das denn?
vom balkon aus via WLAN die Tempdaten an den PI schicken
Ein DS18B20 ist doch leichter anzuschliessen, ESP32 wurde auch schon genannt, gibts sogar schon als Modul mit LiIo Anschluß direkt für 3,7V und OLED
https://robotzero.one/heltec-wifi-kit-32/
auch als LORA der dann auf 433MHz oder 866MHz funken kann direkt zum Arduino mit virtualWIRE
mein Balkon DS18B20 schickt die Daten direkt auf den Bus ins Wohnzimmer per 2-Draht, das passt sogar in die Fensterfuge, wer kein Loch bohren will.
Irgendwann werde ich den 2-Draht durch den Weg zur Balkonsteckdose stecken
Die Sache ist ja eigentlich wie folgt. zuhause klar könnte ich überall draht legen aber es soll ja für den garten werden. daher probiere ich...
Das mit MQTT glaube ich verstanden zu haben.
Den ich will an jeder Fenster sowie WOhnungstür ein ESP, der mir dem zustand wenn sich etwas verändert zum pi schicken und dann kommt das auf meine kleine seite.
Zimmerfenster Kind1 offen oder geschloßen.
das soll ja dann noch mit den 434MHz und 867MHz schalter und Steckdosen gekoppelt werden.
Lars
pi schicken und dann kommt das auf meine kleine seite.
Zimmerfenster Kind1 offen oder geschloßen.
das soll ja dann noch mit den 434MHz und 867MHz schalter und Steckdosen gekoppelt werden
Ich will Dich jetzt nicht abhalten, selbst etwas zu erfinden (dafür ist der Pi schließlich da). Für mich klingt das nach systemen wie pilight, pimatic, FHEM, openHAB oder wie sie alle heißen. Ist einen Versuch wert.
Ja an solche quasi fertig Tools habe ich auch schon gedacht. Diese bringen ja sehr viel mit.
Die frage wäre ja nun welche der vielen Systeme passt zu mir.
Das System muß 434MHz verarbeiten können also empfangen und senden und mehrere MPD Clienten.
Da die Kinder ihre Funksteckdosen per Fernbedienung ein / ausschalten muß das System dieses erkennen und entsprechend verarbeiten.
Die Sache mit dem MPD ist wie folgt, ein normales Radio bringt ja heut zutage nichts mehr. Alle CD's sind in mp3 auf einer NAS abgelegt, daher wäre für jedes Kind ein PI mit OpenELEC und Touchscreen sinnvoller aber der sollte von uns Eltern auch gesteuert werden können.
Lars
so schickt mein PI an den Webserver die empfangenen 434MHz daten, dort wertet eine PHP Datei den Datensatz aus und legt diese in der entsprechenden Datenbank ab. Nun wäre eben die idee ob der fast gleiche code auch für den ESP funktionieren würde.
/*
RFSniffer
Usage: ./RFSniffer [<pulseLength>]
[] = optional
*/
#include "../rc-switch/RCSwitch.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
RCSwitch mySwitch;
int main(int argc, char *argv[]) {
// This pin is not the first pin on the RPi GPIO header!
// Consult https://projects.drogon.net/raspberry-pi/wiringpi/pins/
// for more information.
int PIN = 2;
if(wiringPiSetup() == -1) {
printf("wiringPiSetup failed, exiting...");
return 0;
}
int pulseLength = 0;
if (argv[1] != NULL) pulseLength = atoi(argv[1]);
mySwitch = RCSwitch();
if (pulseLength != 0) mySwitch.setPulseLength(pulseLength);
mySwitch.enableReceive(PIN); // Receiver on interrupt 0 => that is pin #2
while(1) {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value == 0) {
printf("Unknown encoding\n");
} else {
char commandToExecute[80];
sprintf(commandToExecute, "wget http://192.168.5.91/smarthome/auswerten/rf_receive.php?code=%d", mySwitch.getReceivedValue() );
// system("clear");
system(commandToExecute);
// printf("Empfangen %i\n", mySwitch.getReceivedValue() );
}
mySwitch.resetAvailable();
}
}
exit(0);
}
Alles anzeigen
Servus MagicBird ,
für den Arduino gibt es eigene Libraries ... einfach mal suchen.
Die meisten davon laufen auch auf dem ESP8266.
Einfach diese RCswitch Lib auf dem Arduino/ESP zu übersetzen funktioniert nicht, weil
1. das C-/C++ Runtime Modul ziemlich kastriert ist, wie Tell -> hier <- schon andeutete und
2. der Hardware-Unterbau ein ganz anderer ist, als bei einem Raspi.
cu,
-ds-
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!