คือหนูไปดูในคลิปเขาใช้โคดของเว็บนี้ค่ะ เเต่พอทำตามเเล้วมันรันเเล้วเเอพBlynk มัน offline
คือโจทของโปรเจคนี้คือหนู ใช้เเอพBlynk เเสดงค่า อุณหภูมิเเละความชื้น ผ่านเเอพ โดยใช้บอร์ด Mega ค่ะ
คือหนูไปดูในคลิปเขาใช้โคดของเว็บนี้ค่ะ เเต่พอทำตามเเล้วมันรันเเล้วเเอพBlynk มัน offline
คือโจทของโปรเจคนี้คือหนู ใช้เเอพBlynk เเสดงค่า อุณหภูมิเเละความชื้น ผ่านเเอพ โดยใช้บอร์ด Mega ค่ะ
วางลิ้งค์ที่มาให้หน่อยครับ
https://examples.blynk.cc/?board=Arduino%20Mega%202560&shield=Serial%20or%20USB&example=More%2FDHT11
ใน app เลือกเป็น usb รึยังครับ
ลองโค้ตนี้ดู
#define BLYNK_PRINT Serial1
#include <BlynkSimpleStream.h>
#include <DHT.h>
#include <WiFi.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "i01n0__NjU3B6eXvTyv78XCmAIPJezKn";
#define DHTPIN 2 // What digital pin we're connected to
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial1.println("Failed to read from DHT sensor!");
return;
}
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
void setup()
{
// Debug console
Serial1.begin(9600);
// Blynk will work through Serial
// Do not read or write this serial manually in your sketch
Serial.begin(9600);
Blynk.begin(Serial, auth);
dht.begin();
// Setup a function to be called every second
timer.setInterval(1000L, sendSensor);
}
void loop()
{
Blynk.run();
timer.run();
}
หน้า แอพตั้งอะไรไว้บ้าง ขอดูหน่อย ตอนนี้มันส่งขาถึงกันไหม
ทำตามนี้ครับ
Open cmd.exe
(you may need to “Run as Administrator”)
Navigate to scripts folder:
cd C:\...\libraries\Blynk\scripts
ลืมใส่ cd ครับ
ทีนี้ลองเชื่อมแอพ ดูใหม่
ยังขึ้น offline เหมือนเดิมเลยค่ะ
เข้าไปตามที่อยู่นี้แล้วเปิดขึ้นมาครับ เปลี่ยน comport ให้ถูกกับที่เราใช้
เอาโค้ตนี้ไปวางแล้วเซฟทับไป
@echo off
setlocal EnableDelayedExpansion
REM === Edit these lines to match your need ===
set COMM_PORT=COM1
set COMM_BAUD=9600
set SERV_ADDR=blynk.iot-cm.com
set SERV_PORT=8080
REM === Edit lines below only if absolutely sure what you're doing ===
rem Get command line options
set SCRIPTS_PATH=%~dp0
:loop
IF NOT "%1"=="" (
IF "%1"=="-c" set COMM_PORT=%2& SHIFT & SHIFT & GOTO :loop
IF "%1"=="-b" set COMM_BAUD=%2& SHIFT & SHIFT & GOTO :loop
IF "%1"=="-s" set SERV_ADDR=%2& SHIFT & SHIFT & GOTO :loop
IF "%1"=="-p" set SERV_PORT=%2& SHIFT & SHIFT & GOTO :loop
CALL :usage
GOTO :eof
)
rem Find ports
set PORTS=
for /f "tokens=4 delims=: " %%A in ('mode^|findstr "COM[0-9]*:"') do IF not [%%A] == [] set PORTS=!PORTS! %%A
set PORTS=!PORTS:~1!
rem Check port
rem Skip check if no ports at all - Windows bug?
if not "x%PORTS%"=="x~1" (
if "x!PORTS:%COMM_PORT%=!"=="x%PORTS%" (
echo %COMM_PORT% not found, or may be busy.
set /p COMM_PORT="Select serial port [ %PORTS% ]: "
)
)
rem Create exe
if not exist "%SCRIPTS_PATH%\com2tcp.exe" (
copy "%SCRIPTS_PATH%\com2tcp.bin" "%SCRIPTS_PATH%\com2tcp.exe" > NUL
)
rem Do the job
echo Connecting device at %COMM_PORT% to %SERV_ADDR%:%SERV_PORT%...
rem Try resetting board
rem mode %COMM_PORT%:%COMM_BAUD%,N,8,1 >nul
:restart
"%SCRIPTS_PATH%\com2tcp.exe" --baud %COMM_BAUD% --ignore-dsr \\.\%COMM_PORT% %SERV_ADDR% %SERV_PORT%
echo Reconnecting in 3s...
timeout /T 3
goto restart
goto:eof
:usage
echo.
echo. This script redirects serial communication to the server.
echo.
echo. You can specify port, baud rate, and server endpoint like this:
echo. blynk-ser.bat -c ^<serial port^> -b ^<baud^> -s ^<server^> -p ^<port^>
echo.
echo. The defaults are:
echo. -c /dev/ttyUSB0 (on Linux)
echo. COM1 (on Windows)
echo. /dev/tty.usbserial (on OSX)
echo. -b 9600
echo. -s blynk.iot-cm.com
echo. -p 8080
echo.
echo. If the specified serial port is not found, it will ask to enter another one.
echo. The script also tries to reestablish connection if it was lost.
goto:eof
ลองเปลี่ยนเเล้วค่ะ ยังขึ้น Offline อยู่
@echo off
setlocal EnableDelayedExpansion
REM === Edit these lines to match your need ===
set COMM_PORT=COM2
set COMM_BAUD=9600
set SERV_ADDR=blynk.iot-cm.com
set SERV_PORT=8080
REM === Edit lines below only if absolutely sure what you're doing ===
rem Get command line options
set SCRIPTS_PATH=%~dp0
:loop
IF NOT "%1"=="" (
IF "%1"=="-c" set COMM_PORT=%2& SHIFT & SHIFT & GOTO :loop
IF "%1"=="-b" set COMM_BAUD=%2& SHIFT & SHIFT & GOTO :loop
IF "%1"=="-s" set SERV_ADDR=%2& SHIFT & SHIFT & GOTO :loop
IF "%1"=="-p" set SERV_PORT=%2& SHIFT & SHIFT & GOTO :loop
CALL :usage
GOTO :eof
)
rem Find ports
set PORTS=
for /f "tokens=4 delims=: " %%A in ('mode^|findstr "COM[0-9]*:"') do IF not [%%A] == [] set PORTS=!PORTS! %%A
set PORTS=!PORTS:~1!
rem Check port
rem Skip check if no ports at all - Windows bug?
if not "x%PORTS%"=="x~1" (
if "x!PORTS:%COMM_PORT%=!"=="x%PORTS%" (
echo %COMM_PORT% not found, or may be busy.
set /p COMM_PORT="Select serial port [ %PORTS% ]: "
)
)
rem Create exe
if not exist "%SCRIPTS_PATH%\com2tcp.exe" (
copy "%SCRIPTS_PATH%\com2tcp.bin" "%SCRIPTS_PATH%\com2tcp.exe" > NUL
)
rem Do the job
echo Connecting device at %COMM_PORT% to %SERV_ADDR%:%SERV_PORT%...
rem Try resetting board
rem mode %COMM_PORT%:%COMM_BAUD%,N,8,1 >nul
:restart
"%SCRIPTS_PATH%\com2tcp.exe" --baud %COMM_BAUD% --ignore-dsr \\.\%COMM_PORT% %SERV_ADDR% %SERV_PORT%
echo Reconnecting in 3s...
timeout /T 3
goto restart
goto:eof
:usage
echo.
echo. This script redirects serial communication to the server.
echo.
echo. You can specify port, baud rate, and server endpoint like this:
echo. blynk-ser.bat -c ^<serial port^> -b ^<baud^> -s ^<server^> -p ^<port^>
echo.
echo. The defaults are:
echo. -c /dev/ttyUSB0 (on Linux)
echo. COM2 (on Windows)
echo. /dev/tty.usbserial (on OSX)
echo. -b 9600
echo. -s blynk.iot-cm.com
echo. -p 8080
echo.
echo. If the specified serial port is not found, it will ask to enter another one.
echo. The script also tries to reestablish connection if it was lost.
goto:eof