Arduino:
HTTP অনুরোধ প্রেরণ করা
কিভাবে:
আরডুইনোর সাথে কাজ করার জন্য WiFiNINA
লাইব্রেরিটি নেটওয়ার্ক বৈশিষ্ট্যের জন্য প্রয়োজন। এখানে একটি সাধারণ GET অনুরোধ পাঠানোর উপায় দেওয়া হলো:
#include <WiFiNINA.h>
char ssid[] = "yourNetworkName"; // আপনার নেটওয়ার্কের SSID (নাম)
char pass[] = "yourNetworkPass"; // আপনার নেটওয়ার্কের পাসওয়ার্ড
int status = WL_IDLE_STATUS; // ওয়াইফাই রেডিও'র অবস্থা
char server[] = "example.com"; // যে সার্ভারে আপনি যুক্ত হতে চান
WiFiClient client;
void setup() {
Serial.begin(9600); // ডিবাগিংয়ের জন্য সিরিয়াল শুরু করা
WiFi.begin(ssid, pass); // ওয়াইফাই সংযোগ শুরু করা
while (status != WL_CONNECTED) { // সংযোগের জন্য অপেক্ষা করা:
status = WiFi.status();
delay(1000);
}
Serial.print("Connected to ");
Serial.println(ssid);
}
void loop() {
if (client.connect(server, 80)) { // যদি আপনি একটি সংযোগ পান, অনুরোধ পাঠান:
client.println("GET / HTTP/1.1");
client.println("Host: example.com");
client.println("Connection: close");
client.println(); // অনুরোধের শেষ
} else {
Serial.println("Connection failed"); // যদি আপনি সার্ভারে সংযোগ পাননি:
}
while (client.connected()) { // যখন আপনি সংযুক্ত থাকেন, ডেটা পড়ুন:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
}
if (!client.connected()) { // যদি সার্ভার সংযুক্তি বিচ্ছিন্ন হয়, ক্লায়েন্টকে বন্ধ করে দিন:
client.stop();
}
delay(10000); // আবার চেষ্টা করার আগে দশ সেকেন্ড অপেক্ষা করুন
}
নমুনা আউটপুট:
HTTP/1.1 200 OK
Date: Mon, 23 Jan 2023 12:36:47 GMT
Server: Apache/2.4.1 (Unix)
...
গভীর ডুব
মাইক্রোকন্ট্রোলার থেকে HTTP অনুরোধ পাঠানোর ধারণা সবসময় ছিল না। অতীতে, মাইক্রোকন্ট্রোলারগুলো বেশি সেন্সর এবং ভৌতিক বিশ্বের সাথে ইন্টার্যাকশনের বিষয়ে ছিল। কিন্তু IoT (ইন্টারনেট অফ থিংস) এর উদ্ভবের সাথে, এই ডিভাইসগুলোকে ওয়েব সংযোগের দরকার হতে থাকে। এখন আরডুইনো WiFiNINA
এর মতো লাইব্রেরিগুলি ব্যবহার করে এই সংযোগগুলি নির্ভরযোগ্যভাবে পরিচালনা করতে পারে।
WiFiNINA
ছাড়াও অন্যান্য বিকল্পগুলি আপনার হার্ডওয়্যারের উপর নির্ভর করে। যেমন, Ethernet
লাইব্রেরিটি তারের সংযোগকে লিভারেজ দেয়, অন্যদিকে WiFi101
পুরনো WiFi শিল্ডের সাথে কাজ করে।
বাস্তবায়নের পাশে, HTTP অনুরোধ পাঠানোটি সরল মনে হতে পারে, কিন্তু হ্যান্ডশেক, হেডারগুলি, এবং HTTP পদ্ধতিগুলি (GET, POST, ইত্যাদি) একটি কঠোর প্রোটোকলের অংশ, যা ডিভাইসগুলিকে ওয়েবের মাধ্যমে যোগাযোগ করতে দেয়। আরডুইনো এই জটিলতার অনেক কিছু সহজ করে দেয়, তবে মৌলিক জ্ঞান রাখা যখন জিনিসগুলি ঠিকভাবে কাজ করে না তখন সমস্যা সমাধানে সাহায্য করে।
আরো দেখুন
- Arduino
WiFiNINA
লাইব্রেরি ডকস: https://www.arduino.cc/en/Reference/WiFiNINA - HTTP প্রোটোকল প্রাইমার: https://developer.mozilla.org/en-US/docs/Web/HTTP
- ওয়েব-সংযুক্ত প্রকল্পের জন্য Arduino প্রকল্প হাব: https://create.arduino.cc/projecthub