■ここに実現したいことを箇条書きで書いてください。
arduino-cliでイーサネットスケッチを描き込みたい。
■ここに質問の内容を詳しく書いてください。
arduino-cliでイーサネットスケッチを描き込みたいのですが、
どうしてもうまく書き込めません。
L チカスケッチは問題なく書き込めるのですが、
イーサネット制御のスケッチを描き込もうとしても
うまく書き込めません。
なお、arduinoIDE2.1.0からであれば、書き込むことが出来ます。
■### 発生している問題・エラーメッセージ
pingを打っても帰ってこない。
コンパイルしたipアドレスを反映しない。
該当のソースコード
/*
*/
#include "D:\Arduino\MRK1010\IP_Adress\MAC_IP_Adress.txt"
#include <SPI.h>
#include <Ethernet.h>
#include <Wire.h>
//--------------------------
// macアドレスとIPアドレス設定
byte mac[] = {MAC_Adress};
IPAddress ip(IP_Adress) ;
// コミュニケーションポート定義
EthernetServer server(200);
//--------------------------
// 光量計
uint8_t BH1750adress = 0x23 ; // デバイス固有アドレス
uint8_t CONF_REG = 0x10; // Hレゾリューション、120mS、1lux
byte BUFF[2] ;
//--------------------------
void setup()
{
Ethernet.begin(mac, ip);
server.begin();
//--------------------------
Wire.begin();
Serial.begin(115200);
Wire.beginTransmission(BH1750adress);
Wire.write(0x10); // H-resolution mode設定
Wire.endTransmission(); // I2Cデバイスとの送信を終了
}
void loop()
{
float LUX ; // 光量実測定値
// wait for a new client: EthernetClient client = server.available();
if (client.available() > 0)
{
LUX = READ_LUX() ; // 光素子生データ読み込み
client.print("L:") ;
client.println(LUX) ;
Serial.println(LUX);
}
}
// 光量データ読み込み関数
float READ_LUX(void)
{
uint8_t i ;
float VAL = 0;
Wire.beginTransmission(BH1750adress);
Wire.requestFrom(BH1750adress, 2);
delay(200);
for (i = 0 ; i < 2 ; i++) { BUFF[i] = Wire.read(); } delay(150); Wire.endTransmission(); // I2Cデバイスとの送信を終了 VAL=((BUFF[0]<<8)|BUFF[1]); VAL = VAL/1.2;
return VAL ;
}
//-----------------------------------------
windowsでのコンパイルとアップロード用のバッチファイル
arduino-cli compile --fqbn arduino:samd:mkrwifi1010 ChatServer_test
arduino-cli upload --fqbn arduino:samd:mkrwifi1010 ChatServer_test -p COM3
補足情報(FW/ツールのバージョンなど)
arduinoのボード:MRK WiFi 1010
開発環境 windows11
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー