সুচিপত্র:
- ধাপ 1: সরবরাহ
- ধাপ 2: লোরা নোড
- ধাপ 3: নোড এবং সেন্সর সংযোগ
- ধাপ 4: গেটওয়েতে ডেটা পাঠান
- ধাপ 5: মেকপাইথন লোরা
- ধাপ 6: লোরাওয়ান গেটওয়ে
- ধাপ 7: কোড ডাউনলোড করুন
- ধাপ 8: ডেটা গ্রহণ করুন
- ধাপ 9: ThingSpeak IoT ব্যবহার করুন
- ধাপ 10: ফলাফল
ভিডিও: মাইক্রোপিথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে: 10 টি ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
সাম্প্রতিক বছরগুলিতে লোরা খুব জনপ্রিয় হয়েছে। এই প্রযুক্তি ব্যবহার করে ওয়্যারলেস কমিউনিকেশন মডিউল সাধারণত সস্তা (ফ্রি স্পেকট্রাম ব্যবহার করে), আকারে ছোট, শক্তি-সাশ্রয়ী এবং দীর্ঘ যোগাযোগের দূরত্ব থাকে এবং প্রধানত আইওটি টার্মিনালগুলির মধ্যে পারস্পরিক যোগাযোগ বা হোস্টের সাথে ডেটা আদান-প্রদানের জন্য ব্যবহৃত হয়। বাজারে অনেক LoRa মডিউল আছে, যেমন RFM96W, যা SX1278 (সামঞ্জস্যপূর্ণ) চিপ দিয়ে সজ্জিত, যা খুবই ছোট। আমি এটিকে গেটওয়ে হিসাবে মেকপাইথন ইএসপি 32 এর সাথে ব্যবহার করি।
পরবর্তীতে, আমি গেটওয়েতে তাপমাত্রা এবং আর্দ্রতার তথ্য পাঠাতে দুটি LoRa নোড ব্যবহার করব, এবং তারপর গেটওয়ে দিয়ে ইন্টারনেটে আপলোড করব। এখানে আপনি গেটওয়ে দিয়ে একাধিক লোরা নোডের রিমোট ডেটা ক্লাউডে আপলোড করতে শিখবেন।
ধাপ 1: সরবরাহ
1*মেকপাইথন ESP32
মেকপাইথন ইএসপি 32 একটি ইএসপি 32 বোর্ড যা একটি সমন্বিত এসএসডি 1306 ওএলইডি ডিসপ্লে রয়েছে।
2*মাদুইনো লোরা রেডিও
মাদুইনো লোরা রেডিও হল একটি আইওটি (ইন্টারনেট অফ থিংস) সমাধান যা Atmel এর Atmega328P MCU এবং Lora মডিউলের উপর ভিত্তি করে তৈরি। এটি আইওটি প্রকল্পগুলির জন্য একটি বাস্তব প্রকল্প হতে পারে (বিশেষত দীর্ঘ-পরিসরের, কম বিদ্যুতের প্রয়োগ)
2*DHT11
1*মেকপাইথন লোরা
ধাপ 2: লোরা নোড
এটি মাদুইনো লোরা রেডিওর পরিকল্পিত।
লোডা নোড হিসাবে আরডুইনো লোরা রেডিও মডিউল, আমরা গেটওয়েতে তাপমাত্রা এবং আর্দ্রতা ডেটা পাঠাতে এটি ব্যবহার করি।
(এই ওয়াইকি পরিচয় করিয়ে দেয় কিভাবে মাদুইনো লোরা রেডিও ব্যবহার করা যায় এবং ডেটা পাঠানো এবং গ্রহণ করা যায়)
ধাপ 3: নোড এবং সেন্সর সংযোগ
DHT11 এর VCC এবং GND 3V3 এবং GND এর Maduino এর সাথে সংযুক্ত এবং DATA পিনটি Maduino এর D4 এর সাথে সংযুক্ত।
নোড 0 পার্কে, নোড 1 কোম্পানির কাছে অফিস ভবনে, তারা প্রায় 2 কিলোমিটার দূরে, এবং তারপরে আমি তাদের তাপমাত্রা এবং আর্দ্রতা ডেটা বাড়িতে পাই
ধাপ 4: গেটওয়েতে ডেটা পাঠান
TransmitterDHT11.ino ডাউনলোড করুন, এটি Arduino IDE তে খুলুন।
নোড যুক্ত করার সময়, সেই অনুযায়ী নোড নম্বর পরিবর্তন করুন। উদাহরণস্বরূপ, এখন 2 টি নোড ব্যবহার করুন, প্রোগ্রামটি চালানোর জন্য নোডেনাম = 0 পরিবর্তন করার জন্য প্রথম নোড, প্রোগ্রামটি চালানোর জন্য নোডেনাম = 1 পরিবর্তন করার জন্য দ্বিতীয় নোড, এবং তাই, আপনি আরও নোড যুক্ত করতে পারেন।
int16_t প্যাকেটনাম = 0; // প্যাকেট কাউন্টার, আমরা প্রতি xmission বৃদ্ধি
int16_t নোডেনাম = 0; // নোড নম্বর পরিবর্তন করুন
তথ্য সংগ্রহ করুন এবং এটি মুদ্রণ করুন
স্ট্রিং বার্তা = "#"+(স্ট্রিং) নোডেনাম+"আর্দ্রতা:"+(স্ট্রিং) আর্দ্রতা+"% তাপমাত্রা:"+(স্ট্রিং) তাপমাত্রা+"সি"+"সংখ্যা:"+(স্ট্রিং) প্যাকেটনাম; সিরিয়াল.প্রিন্টলন (বার্তা); প্যাকেটনাম ++;
Rf95_server এ একটি বার্তা পাঠান
uint8_t radioPacket [message.length ()+1];
message.toCharArray (radioPacket, message.length ()+1); radioPacket [message.length ()+1] = '\ 0'; rf95.send ((uint8_t *) radioPacket, message.length ()+1);
সিরিয়াল মনিটরটি খুলুন, আপনি সংগৃহীত তাপমাত্রা এবং আর্দ্রতার ডেটা দেখতে পারেন এবং এটি পাঠাতে পারেন।
#0 আর্দ্রতা: 6.00% তাপমাত্রা: 27.00C সংখ্যা: 0
প্রেরণ: rf95_server- এ পাঠানো হচ্ছে… প্যাকেট সম্পূর্ণ হওয়ার জন্য অপেক্ষা করা হচ্ছে… উত্তরের জন্য অপেক্ষা করা হচ্ছে… কোন উত্তর নেই, আশেপাশে কোন শ্রোতা আছে?
এটা একপাশে রাখুন, এখন আমাদের লোরা গেটওয়ে তৈরি করতে হবে।
ধাপ 5: মেকপাইথন লোরা
এটি RFM96W মডিউল এবং মেকপাইথন ESP32 এর সংশ্লিষ্ট পিন। মেকপাইথন ইএসপি 32 এর সাথে সংযোগ সহজ করার জন্য, আমি আরএফএম 96 ডাব্লু মডিউল দিয়ে একটি সার্কিট বোর্ড তৈরি করেছি। হ্যাঁ, এটিতে দুটি RFM96W রয়েছে, যা একই সময়ে ডেটা প্রেরণ এবং গ্রহণ করতে পারে, কিন্তু এখন আমার কেবল একটি প্রয়োজন।
ধাপ 6: লোরাওয়ান গেটওয়ে
লোরাওয়ান একটি লো-পাওয়ার ওয়াইড-এরিয়া নেটওয়ার্ক যা লোরা ভিত্তিক, যা একটি প্রদান করতে পারে: কম বিদ্যুৎ খরচ, পরিমাপযোগ্যতা, উচ্চমানের পরিষেবা এবং নিরাপদ দূরপাল্লার ওয়্যারলেস নেটওয়ার্ক।
মেকপাইথন লোরা এবং ইএসপি 32 একত্রিত করুন একটি গেটওয়ে তৈরি করতে যা দূরবর্তী ডেটা গ্রহণ করতে পারে এবং এটি ইন্টারনেটে আপলোড করতে পারে।
ধাপ 7: কোড ডাউনলোড করুন
ওয়াইকি থেকে সমস্ত 'xxx.py' ফাইল ডাউনলোড করুন এবং ESP32 এ আপলোড করুন।
LoRaDuplexCallback.py ফাইলটি খুলুন, আপনাকে কিছু সমন্বয় করতে হবে যাতে আপনার ESP32 নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে পারে এবং সার্ভারে ডেটা আপলোড করতে পারে।
ThingSpeak এ আপনি যে API_KEY পেয়েছেন তা সংশোধন করুন (আমি পরে এটি কিভাবে পাবেন তা পরিচয় করিয়ে দেব)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
ওয়াইফাই সংযোগ করতে SSID এবং PSW পরিবর্তন করুন
ssid = "Makerfabs"
pswd = "20160704"
ধাপ 8: ডেটা গ্রহণ করুন
LoRaDuplexCallback.py ফাইলে on_receive (lora, payload) ফাংশনটি খুঁজুন, যেখানে আপনি ডাটা পাওয়ার পর ESP32 কে কি করতে হবে তা বলতে পারেন। নিম্নলিখিত কোডটি পার্স করে এবং প্রাপ্ত তাপমাত্রা এবং আর্দ্রতার ডেটা প্রদর্শন করে।
def on_receive (লোরা, পেলোড):
lora.blink_led () rssi = lora.packetRssi () try: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** প্রাপ্ত বার্তা *** / n {}"। বিন্যাস (প্লেলোড)) যদি config_lora. IS_LORA_OLED: lora.show_packet (("{}"। বিন্যাস (পেলোড [4: দৈর্ঘ্য])), rssi) যদি wlan.isconnected (): global msgCount print ('Sending to network…') node = int (str (payload [5: 6], 'utf-8')) যদি node == 0: URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 = "+myNum1+" & field2 = "+myNum2 res = urequests.get (URL) print (res.text) elif node == 1: URL =" https://api.thingspeak.com/update?api_key= "+API_KEY+" & field3 = "+myNum1+" & field4 = "+myNum2 res = urequests.get (URL) print (res.text) ব্যতীত e: print (e) print (" RSSI {} n ".format (rssi) সহ)
নোডগুলিকে আলাদা করার জন্য সংখ্যার বিচার করে এবং ইউআরএল এর মাধ্যমে ইন্টারনেটে ডেটা আপলোড করে আমরা যেকোনো সময় বিভিন্ন নোডের দূরবর্তী ডেটা পর্যবেক্ষণ করতে পারি। আপনি আরো নোড যোগ করতে পারেন এবং কোডে অনুরূপ পরিবর্তন করতে পারেন।
যদি নোড == 0:
URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) প্রিন্ট (res.text)
ধাপ 9: ThingSpeak IoT ব্যবহার করুন
পদক্ষেপ:
- Https://thingspeak.com/ এ একটি অ্যাকাউন্ট সাইন আপ করুন। আপনার যদি ইতিমধ্যে একটি থাকে তবে সরাসরি সাইন ইন করুন।
- নতুন থিংসস্পিক চ্যানেল তৈরি করতে নতুন চ্যানেলে ক্লিক করুন।
- ইনপুট নাম, বিবরণ, ক্ষেত্র নির্বাচন করুন 1. তারপর নীচে চ্যানেলটি সংরক্ষণ করুন।
- API কী অপশনে ক্লিক করুন, API কী অনুলিপি করুন, আমরা এটি প্রোগ্রামে ব্যবহার করব।
ধাপ 10: ফলাফল
আপনি স্ক্রিনে নোড 0 এবং নোড 1 এর ডেটা দেখতে পারেন, যদিও তারা 2 কিলোমিটার দূরে।
আপনার ThingSpeak অ্যাকাউন্টে লগ ইন করুন এবং আপনার তৈরি করা চ্যানেলে ক্লিক করুন, আপনি আপলোড করা তাপমাত্রা এবং আর্দ্রতার ডেটা দেখতে পাবেন।
ফিল্ড 1 গ্রাফ এবং ফিল্ড 2 গ্রাফ হল লোরা নোড 0 এর আর্দ্রতা এবং তাপমাত্রার ডেটা, এবং ফিল্ড 3 গ্রাফ এবং ফিল্ড 4 গ্রাফ হল লোরা নোড 1 এর আর্দ্রতা এবং তাপমাত্রার ডেটা।
প্রস্তাবিত:
বায়ুমণ্ডলীয় চাপের উপর ভিত্তি করে অ্যালটাইমিটার (উচ্চতা মিটার): 7 টি ধাপ (ছবি সহ)
বায়ুমণ্ডলীয় চাপের উপর ভিত্তি করে অ্যালটাইমিটার (উচ্চতা মিটার): [সম্পাদনা]; ম্যানুয়ালি বেসলাইন উচ্চতা ইনপুট সহ ধাপ 6 এর সংস্করণ 2 দেখুন এটি একটি Arduino ন্যানো এবং একটি Bosch BMP180 বায়ুমণ্ডলীয় চাপ সেন্সরের উপর ভিত্তি করে একটি Altimeter (Altitude Meter) এর বিল্ডিং বর্ণনা। নকশা সহজ কিন্তু পরিমাপ
ESP8266 এর উপর ভিত্তি করে অ্যাপল হোমকিট ওয়াই-ফাই ডিহুমিডিফায়ার ?: 6 টি ধাপ (ছবি সহ)
ESP8266- এর উপর ভিত্তি করে অ্যাপল হোমকিট ওয়াই-ফাই ডিহুমিডিফায়ার? তাই আমি আমার নিজের ওয়াই-ফাই সক্ষম অ্যাপল হোমকিট ডিহুমিডিফায়ার তৈরি করার সিদ্ধান্ত নিয়েছি যা আমার কাছে ইতিমধ্যেই আছে? আমি
ESP8266 শিল্ডের উপর ভিত্তি করে Arduino এর জন্য সিরিয়াল UDP/IP গেটওয়ে: 8 টি ধাপ
ESP8266 শিল্ডের উপর ভিত্তি করে Arduino এর জন্য সিরিয়াল UDP/IP গেটওয়ে: আমি ইতিমধ্যে 2016 সালে এই নির্দেশযোগ্য " আপনার Arduino কে IP নেটওয়ার্কের সাথে সংযুক্ত করার জন্য আপনার নিজের ওয়াইফাই গেটওয়ে কিভাবে তৈরি করবেন " যেহেতু আমি কিছু কোড উন্নতি করেছি এবং আমি এখনও এই সমাধান ব্যবহার করছি। তবুও এখন কিছু ESP8266 ieldsাল আছে
রাস্পবেরি পাই এর জন্য CPU তাপমাত্রার উপর ভিত্তি করে PWM নিয়ন্ত্রিত ফ্যান: 4 টি ধাপ (ছবি সহ)
রাস্পবেরি পাইয়ের জন্য সিপিইউ তাপমাত্রার উপর ভিত্তি করে পিডব্লিউএম নিয়ন্ত্রিত ফ্যান: রাস্পবেরি পাইয়ের অনেক ক্ষেত্রেই সিপিইউকে ঠান্ডা করতে সাহায্য করার জন্য একটু 5V ফ্যান নিয়ে আসে। যাইহোক, এই ভক্তরা সাধারণত বেশ শোরগোল করে এবং অনেকে শব্দটি কমাতে 3V3 পিনে প্লাগ করে। এই ভক্তদের সাধারণত 200mA এর জন্য রেট দেওয়া হয় যা বেশ ভাল
[১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর - TR -064 (বিটা) এর উপর ভিত্তি করে: 4 টি ধাপ (ছবি সহ)
[১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর-TR-064 (বিটা) এর উপর ভিত্তি করে: আপডেট: ধাপ See দেখুন। দীর্ঘ গল্প (TL; নিচে DR): কিছু সময় আগে আমি আমার কম্পিউটারে একটি ছোট ব্যাশ-স্ক্রিপ্ট লিখেছিলাম যা রেজিস্টার্ড ডিভাইসের জন্য নেটওয়ার্ক স্ক্যান করুন এবং সংশ্লিষ্ট নামের নামের সাথে তাদের হোস্টনামগুলির তুলনা করুন। প্রতিবার একটি ডিভাইস লগ ইন করবে