Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *
saya menggunakan arduino-uno, tetapi saya tidak bisa mengakses halaman web saya. Saya sudah menetapkan alamat ip ke arduino. ketika saya menjalankan arduino (ctrl + shift + m), ini akan menampilkan output. Tetapi ketika saya mengakses halaman web saya, itu akan menampilkan "Anda tidak bisa" menjangkau halaman web ini.
Server Web saya bekerja dengan baik dengan IP lokal dan jaringan lokal dengan kabel ethernet.
bekerja dengan penerusan porta / IP publik saat menggunakan koneksi jaringan lain ke seluler seperti yang disebutkan dalam artikel.
tidak berfungsi di ponsel atau laptop saya saat menggunakan router Wifi / Nirkabel di jaringan yang sama dengan IP lokal. Tolong beri tahu saya di mana saya salah.
saya butuh bantuan dalam kode ini karena ketika keadaan darurat terjadi oleh 4 (tinggi) saya tidak dapat kembali ke keadaan sebelumnya... bagaimana saya bisa melakukan ini ???
// ARDUINO 1.0+ HANYA
// ARDUINO 1.0+ HANYA
#termasuk
#termasuk
boolean reading = false;
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
byte ip [] = {192, 168, 16, 71}; // Hanya pengaturan manual
// byte gateway [] = {192, 168, 1, 1}; // Hanya pengaturan manual
// byte subnet [] = {255, 255, 255, 0}; // Hanya pengaturan manual
// jika perlu mengubah alamat MAC (Sangat Langka)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
Server EthernetServer = EthernetServer (80); // port 80
////////////////////////////////////////////////////////////////////////
pengaturan batal () {
Serial.begin (9600);
// Pin 10,11,12 & 13 digunakan oleh ethernet shield
pinMode (2, INPUT); // SWICH
pinMode (3, OUTPUT); //LAMP
pinMode (4, INPUT); // DARURAT
pinMode (6, INPUT);
Ethernet.begin (mac);
//Ethernet.begin (mac, ip, gateway, subnet); // untuk pengaturan manual
server.begin ();
Serial.println (Ethernet.localIP ());
}
void loop () {
digitalWrite (6, LOW);
if ((digitalRead (4) == LOW) || (digitalRead (6) == HIGH))
{
if (digitalRead (2) == HIGH)
{
digitalWrite (3, HIGH);
keterlambatan (5000);
digitalWrite (3, LOW);
}
}
checkForClient (); // dengarkan klien yang masuk, dan proses qequest.
}
batal checkForClient () {
EthernetClient client = server.available ();
jika (klien) {
// permintaan http diakhiri dengan baris kosong
boolean currentLineIsBlank = true;
boolean sentHeader = false;
while (client.connected ()) {
if (client.available ()) {
if (! sentHeader) {
// kirim tajuk respons http standar
client.println ("HTTP / 1.1 200 OK");
client.println ("Tipe-Konten: teks / html");
client.println ();
sentHeader = true;
}
char c = client.read ();
if (reading && c == '') reading = false;
if (c == '?') reading = true; // temukan?, mulailah membaca info
if (reading) {
Serial.print (c);
beralih (c) {
huruf '4':
// tambahkan kode di sini untuk memicu pada 2
triggerPin (4, klien);
istirahat;
huruf '6':
// tambahkan kode di sini untuk memicu pada 3
triggerPin (6, klien);
istirahat;
}
}
if (c == '\ n' && currentLineIsBlank) rusak;
if (c == '\ n') {
currentLineIsBlank = true;
} lain jika (c! = '\ r') {
currentLineIsBlank = false;
}
}
}
keterlambatan (1); // beri waktu browser web untuk menerima data
client.stop (); // tutup koneksi:
}
}
membatalkan triggerPin (pin int, klien EthernetClient) {
// blink a pin - Klien diperlukan hanya untuk tujuan output HTML.
client.print ("Menghidupkan pin");
client.println (pin);
client.print ("");
if (pin, HIGH)
{
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);}
}
Bukankah lebih mudah dan lebih murah untuk melakukan ini dengan Raspberry Pi? Saya tidak begitu yakin karena saya belum pernah menggunakan Arduino, tetapi saya punya Pi.