Read the statement by Michael Teeuw here.
Is it possible to ad an Arduino?
-
This post is deleted! -
Ok so like i said it starts now , but the ArduPorts module still says : “waiting for connection”
and i added thedebug: true,line. And for some reason Ctrl + shift + i does nothing for me except that the radeon software takes a screenshot… so heres the full console log :
pi@raspberrypi:~/MagicMirror $ npm run start > magicmirror@2.12.0 start /home/pi/MagicMirror > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [2020-09-18 18:12:43.751] [LOG] Starting MagicMirror: v2.12.0 [2020-09-18 18:12:43.764] [LOG] Loading config ... [2020-09-18 18:12:43.776] [LOG] Loading module helpers ... [2020-09-18 18:12:43.801] [LOG] Initializing new module helper ... [2020-09-18 18:12:43.802] [LOG] Module helper loaded: MMM-ArduPort node-telegram-bot-api deprecated Automatic enabling of cancellation of promises is deprecated. In the future, you will have to enable it yourself. See https://github.com/yagop/node-telegram-bot-api/issues/319. internal/modules/cjs/loader.js:786:30 [2020-09-18 18:12:45.439] [LOG] Initializing new module helper ... [2020-09-18 18:12:45.440] [LOG] Module helper loaded: MMM-TelegramBot [2020-09-18 18:12:45.442] [LOG] No helper found for module: MMM-Online-State. [2020-09-18 18:12:45.519] [LOG] Initializing new module helper ... [2020-09-18 18:12:45.520] [LOG] Module helper loaded: updatenotification [2020-09-18 18:12:45.521] [LOG] No helper found for module: clock. [2020-09-18 18:12:45.698] [LOG] Initializing new module helper ... [2020-09-18 18:12:45.700] [LOG] Module helper loaded: MMM-RBB-Weather [2020-09-18 18:12:46.359] [LOG] Initializing new module helper ... [2020-09-18 18:12:46.360] [LOG] Module helper loaded: calendar [2020-09-18 18:12:47.125] [LOG] Initializing new module helper ... [2020-09-18 18:12:47.126] [LOG] Module helper loaded: MMM-NowPlayingOnSpotify [2020-09-18 18:12:47.126] [LOG] All module helpers loaded. [2020-09-18 18:12:47.336] [LOG] Starting server on port 8080 ... [2020-09-18 18:12:47.362] [LOG] Server started ... [2020-09-18 18:12:47.364] [LOG] Connecting socket for: MMM-ArduPort [2020-09-18 18:12:47.365] [LOG] [MMM-ArduPort]:: Starting node_helper for module [MMM-ArduPort] [2020-09-18 18:12:47.366] [LOG] Connecting socket for: MMM-TelegramBot [2020-09-18 18:12:47.367] [LOG] Connecting socket for: updatenotification [2020-09-18 18:12:47.369] [LOG] Connecting socket for: MMM-RBB-Weather [2020-09-18 18:12:47.369] [LOG] Starting module helper: MMM-RBB-Weather [2020-09-18 18:12:47.371] [LOG] Connecting socket for: calendar [2020-09-18 18:12:47.371] [LOG] Starting node helper for: calendar [2020-09-18 18:12:47.372] [LOG] Connecting socket for: MMM-NowPlayingOnSpotify [2020-09-18 18:12:47.373] [LOG] Sockets connected & modules started ... [2020-09-18 18:12:47.553] [LOG] Launching application. [2020-09-18 18:12:50.879] [LOG] Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/oliver.kuck12%40gmail.com/public/basic.ics - Interval: 300000 [2020-09-18 18:12:51.091] [LOG] MMM-RBB-Weather[18.9.2020, 18:12:50]: Load data for ID "18228265" and "0" days ... [2020-09-18 18:12:51.100] [INFO] Checking git for module: MMM-ArduPort [2020-09-18 18:12:51.132] [INFO] Checking git for module: MMM-TelegramBot [2020-09-18 18:12:51.168] [INFO] Checking git for module: MMM-Online-State [2020-09-18 18:12:51.209] [INFO] Checking git for module: MMM-RBB-Weather [2020-09-18 18:12:51.246] [INFO] Checking git for module: MMM-NowPlayingOnSpotify [2020-09-18 18:12:51.281] [ERROR] (node:1451) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [2020-09-18 18:12:51.283] [ERROR] (node:1451) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [2020-09-18 18:12:51.420] [LOG] MMM-RBB-Weather[18.9.2020, 18:12:51]: Fetch data for day "0" ... [2020-09-18 18:12:51.446] [LOG] { debug: 'SerialPort shell started...' } [2020-09-18 18:12:51.458] [LOG] undefined[MMM-ArduPort] SerialPort shell started... [2020-09-18 18:12:51.459] [LOG] { debug: 'Waiting Ardunio to connect on port...' } [2020-09-18 18:12:51.460] [LOG] undefined[MMM-ArduPort] Waiting Ardunio to connect on port... [2020-09-18 18:12:51.461] [LOG] { status: { name: 'connect', data: 'connected' } } [2020-09-18 18:12:51.462] [LOG] { name: 'connect', data: 'connected' } [2020-09-18 18:12:51.484] [ERROR] Whoops! There was an uncaught exception... [2020-09-18 18:12:51.485] [ERROR] SyntaxError: Unexpected token E in JSON at position 0 at JSON.parse (<anonymous>) at PythonShell.asJson (/home/pi/MagicMirror/modules/MMM-ArduPort/node_modules/python-shell/index.js:381:21) at /home/pi/MagicMirror/modules/MMM-ArduPort/node_modules/python-shell/index.js:323:42 at Array.forEach (<anonymous>) at PythonShell.receiveInternal (/home/pi/MagicMirror/modules/MMM-ArduPort/node_modules/python-shell/index.js:319:15) at PythonShell.receiveStderr (/home/pi/MagicMirror/modules/MMM-ArduPort/node_modules/python-shell/index.js:303:21) at Socket.emit (events.js:205:15) at addChunk (_stream_readable.js:294:12) at readableAddChunk (_stream_readable.js:271:13) at Socket.Readable.push (_stream_readable.js:210:10) at Pipe.onStreamRead (internal/stream_base_commons.js:166:17) [2020-09-18 18:12:51.494] [ERROR] MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? [2020-09-18 18:12:51.495] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues [2020-09-18 18:12:51.515] [LOG] [MMM-ArduPort] finished running... [2020-09-18 18:12:52.033] [LOG] Refreshed access token because it has expired. Expired at: 18:12:50 now is: 18:12:52 [2020-09-18 18:12:52.074] [LOG] Refreshed access token because it has expired. Expired at: 19:12:52 now is: 18:12:52 [2020-09-18 18:12:52.241] [LOG] MMM-RBB-Weather[18.9.2020, 18:12:52]: Data received, send to module ... [2020-09-18 18:12:52.420] [INFO] Calendar-Fetcher: Broadcasting 0 events. [2020-09-18 18:13:14.146] [LOG] Shutting down server... [2020-09-18 18:13:14.149] [LOG] Stopping module helper: MMM-ArduPort [2020-09-18 18:13:14.150] [LOG] Stopping module helper: MMM-TelegramBot [2020-09-18 18:13:14.152] [LOG] Stopping module helper: updatenotification [2020-09-18 18:13:14.153] [LOG] Stopping module helper: MMM-RBB-Weather [2020-09-18 18:13:14.155] [LOG] Stopping module helper: calendar [2020-09-18 18:13:14.157] [LOG] Stopping module helper: MMM-NowPlayingOnSpotify pi@raspberrypi:~/MagicMirror $EDIT:
Seems like it can’t find the Arduino but via NodeRed i can see it is sending Informations which the Pi is able to read. -
@Shinji0912 it found the Arduino and then died when the data arrived on wrong format
-
@sdetweil Ok … so is it the Arduino sketch that is the problem and if yes what should i change?
-
@Shinji0912 says json.parse failed. are u sending json formatted data as required?
-
@sdetweil Im not sure about that …
Like i said im a reallyyy bloody newbie… sry :C#include #include "DHT.h" #define DHTPIN 2 #define DHTTYPE 11 DHT dht (DHTPIN, DHTTYPE); void setup() { Wire.begin(); Serial.begin(9600); dht.begin(); } void loop() { delay(2000); float temp = dht.readTemperature(); float rel_hum = dht.readHumidity(); if (isnan(rel_hum) || isnan(temp)) { Serial.println(F("Daten vom Sensor konnten nicht gelesen werden!")); return; } float hif = dht.computeHeatIndex(rel_hum); float hic = dht.computeHeatIndex(temp, rel_hum, false); Serial.print(F("Luftfeuchtigkeit: ")); Serial.print(rel_hum); Serial.print(F("% Temperatur: ")); Serial.print(temp); Serial.print(F("°C ")); Serial.println(F("")); }this is the arduino code
When i tried to rewrite the given code by ArduPorts it didn’t even showed me the temperature in the SerialMonitor this was the sketch ;
volatile int32_t m_counter = 0; bool WasStarted = false; static const char *pcDHT11Prefix = "[sensor:DHT11:"; static const char *pcPostfix = "]"; void setup() { Serial.begin(9600); while(!Serial); Serial.println("[status:setup:starting]"); Serial.println("[sensor:DHT11:11]"); int test = 1; m_counter = test; if(test > 1) { WasStarted = false; Serial.println("[status:setup:failed]"); return; } delay(3000); WasStarted = true; Serial.println("[status:setup:started]"); delay(100); } void loop() { Serial.print(m_counter + 11); Serial.println(pcPostfix); if(m_counter % 3 == 0) { delay(1000); Serial.print(pcDHT11Prefix); Serial.print(m_counter + 11); Serial.println(pcPostfix); delay(2000); } if(m_counter >= 60) m_counter = 0; m_counter++; delay(1000); }EDIT 2 :
This is what the Arduino SerialOutput looks like in NoteRed
( using the Rewritten ArduPorts Sketch)
:
-
@Shinji0912 use one of the online json validators to check your messages
-
-
@Shinji0912 only what u send(println) not the whole sketch
json, all text strings must be in double quotes
Serial.print(pcMQ2Prefix);
Serial.print(m_counter);
Serial.println(pcPostfix);
sample shows sketch sending sensor info -
@sdetweil U mean like this?
{ Serial.println("pcPostfix)" }{ "Serial.println(""[status:setup:starting]"")" }{ "Serial.println(""[sensor:DHT11:11]"")" }{ "Serial.println(""[status:setup:failed]"")" } -
@Shinji0912 see prior post
-
Edit : Im really sorry for my Stupidity normally im a really quick learner and i understand things pretty fast but i got kind off lost at this point… but im sooo thankful for your help in general without you i wouldn’t even been able to get the right SerialPort name…soo thank u soo much so far ^^ and sry for using your time , but i wouldn’t ask if i could do it myself :/
-
@Shinji0912 you can only send the sensor values in the sketch loop() function,
the rest is is used for getting connected to the matching code in the python scriptthey do
arduino, hey, are u there?
python script, yes, ready for sensor valuesarduino, once a second, or whatever frequency
hey, here is sensor:???:value
-
@sdetweil Ok , so based on that i have rewritten my whole Script and added just a few comments so maybe you will understand my thoughts about it…
#include <dht_nonblocking.h> #include <Wire.h> #define DHT_SENSOR_TYPE DHT_TYPE_11 static const char DHT_SENSOR_PIN = 2; DHT_nonblocking dht_sensor( DHT_SENSOR_PIN, DHT_SENSOR_TYPE ); void setup() { Wire.begin(); Serial.begin(9600); //Verbindung zum Raspberry aufbauen // Connect to the Raspberry start ArduPort connection Serial.println("[status:setup:starting]"); Serial.println("[status:setup:started]"); } // Messungen Definieren //Define Measurment Names static bool messung_t( float *temperatur, float *feuchtigkeit) { static unsigned long messung_t = millis( ); if( millis( ) - messung_t > 3000ul ) { if( dht_sensor.measure( temperatur, feuchtigkeit ) == true) { messung_t = millis( ); return( true ); } } return ( false ); } void loop() { //Übermitteln der Daten an ArduPorts //sending informations to ArduPorts float temperatur; float feuchtigkeit; Serial.print( "[sensor:DHT11:" ); Serial.print(temperatur, 1 ); Serial.println("]"); delay(2000); }I thought it is going to work this time but on the mirror it is still : “waiting for connection”
but my Console log when starting the mirror shows me that the ArduPorts reads the Temperature (because a slightly mistake (but should still work) the Temperature is always 0.0)
Console Log :
[2020-09-22 16:24:17.982] [LOG] Launching application. [2020-09-22 16:24:21.437] [LOG] Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/oliver.kuck12%40gmail.com/public/basic.ics - Interval: 300000 [2020-09-22 16:24:21.624] [LOG] MMM-RBB-Weather[22.9.2020, 16:24:21]: Load data for ID "18228265" and "0" days ... [2020-09-22 16:24:21.633] [INFO] Checking git for module: MMM-ArduPort [2020-09-22 16:24:21.665] [INFO] Checking git for module: MMM-TelegramBot [2020-09-22 16:24:21.700] [INFO] Checking git for module: MMM-Online-State [2020-09-22 16:24:21.733] [INFO] Checking git for module: MMM-RBB-Weather [2020-09-22 16:24:21.772] [INFO] Checking git for module: MMM-NowPlayingOnSpotify [2020-09-22 16:24:21.810] [ERROR] (node:1379) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [2020-09-22 16:24:21.812] [ERROR] (node:1379) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [2020-09-22 16:24:21.956] [LOG] MMM-RBB-Weather[22.9.2020, 16:24:21]: Fetch data for day "0" ... [2020-09-22 16:24:21.999] [LOG] { debug: 'SerialPort shell started...' } [2020-09-22 16:24:22.014] [LOG] undefined[MMM-ArduPort] SerialPort shell started... [2020-09-22 16:24:22.016] [LOG] { debug: 'Waiting Ardunio to connect on port...' } [2020-09-22 16:24:22.018] [LOG] undefined[MMM-ArduPort] Waiting Ardunio to connect on port... [2020-09-22 16:24:22.019] [LOG] { status: { name: 'connect', data: 'connected' } } [2020-09-22 16:24:22.020] [LOG] { name: 'connect', data: 'connected' } [2020-09-22 16:24:22.026] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:22.031] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:22.359] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:22.363] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:22.731] [LOG] Refreshed access token because it has expired. Expired at: 16:24:21 now is: 16:24:22 [2020-09-22 16:24:22.768] [LOG] Refreshed access token because it has expired. Expired at: 17:24:22 now is: 16:24:22 [2020-09-22 16:24:22.870] [LOG] MMM-RBB-Weather[22.9.2020, 16:24:22]: Data received, send to module ... [2020-09-22 16:24:23.104] [INFO] Calendar-Fetcher: Broadcasting 0 events. [2020-09-22 16:24:23.341] [LOG] { status: { name: 'setup', data: 'starting' } } [2020-09-22 16:24:23.348] [LOG] { name: 'setup', data: 'starting' } [2020-09-22 16:24:23.723] [LOG] { status: { name: 'setup', data: 'started' } } [2020-09-22 16:24:23.727] [LOG] { name: 'setup', data: 'started' } [2020-09-22 16:24:23.731] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:25.345] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:27.353] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:29.363] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:31.374] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } [2020-09-22 16:24:33.383] [LOG] { sensor: { name: 'DHT11', data: '0.0' } } -
@Shinji0912 ok, now we need to see the log from the browser
ctrl-shift-i on the mirror keyboard, select the tab labeled console, and then put port in the filter field
also set
developerMode:true,in the config.js config section for the arduport module
there are a lot of messages available from the modulename.js
-
@sdetweil

and

-
-
-
@Shinji0912 others appear to have had the same problem, see the changes suggested here
-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login






