সুচিপত্র:
ভিডিও: Arduino চালিত ধুলো কণা পর্যবেক্ষণ স্টেশন: 4 টি ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
আপনি মোটামুটি সহজেই এমন একটি DIY ইন্টারনেট তৈরি করতে পারেন যা আপনার বাড়িতে $ 50 এরও কম সময়ে ধুলো দূষণ পর্যবেক্ষণ করে এবং যখন ধূলিকণার মাত্রা খুব বেশি হয়ে যায় তখন বিজ্ঞপ্তি পান যাতে আপনি রুমটি বায়ুচলাচল করতে পারেন, অথবা আপনি এটি বাইরে সেট করতে পারেন এবং যদি এটি হয় তবে বিজ্ঞপ্তি পেতে পারেন আপনি যদি অত্যন্ত দূষিত এলাকায় থাকেন তাহলে বাইরে যাওয়া নিরাপদ।
আমি এটি একটি স্কুল প্রকল্প হিসাবে তৈরি করেছি, তাই আমার কাছে এমন একটি পরিষেবা খুঁজে পাওয়ার যথেষ্ট সময় ছিল না যা MQTT বার্তা গ্রহণ করবে এবং সেগুলি আপনাকে বিজ্ঞপ্তি বা ইমেলের মতো পাঠাবে।
এছাড়াও মনে রাখবেন যে সেন্সরটি সর্বদা চালিত রাখলে ফ্যানের জীবনকাল হ্রাস পাবে।
ধাপ 1: যন্ত্রাংশ প্রয়োজন
আপনার যা লাগবে
- আরডুইনো উনো
- Arduino ইথারনেট ieldাল
- পার্টিকুলেট ম্যাটার লেজার সেন্সর (সাধারণত ইবে/অ্যালিয়েপ্রেস এ $ 10- $ 30 এর জন্য যান)
- DHT11 তাপমাত্রা এবং আর্দ্রতা সেন্সর (alচ্ছিক)
- ব্রেডবোর্ড
- জাম্পারের তার
পদক্ষেপ 2: অংশগুলি একত্রিত করুন
প্রথমে, আপনাকে Arduino এ ইথারনেট ieldাল প্লাগ করতে হবে
PM সেন্সরের একাধিক তার আছে, কিন্তু আমাদের যেগুলো দরকার তা হল VCC, GND, TX, RX।
VCC এবং GND কে যথাক্রমে + এবং - ব্রেডবোর্ডে সংযুক্ত করুন।
Arduino হার্ডওয়্যার RX এবং TX পিন আছে, কিন্তু আমরা যথাক্রমে RX এবং TX পিনের সফ্টওয়্যার এমুলেশন পিন 2 এবং 3 এ ব্যবহার করব। সেন্সরের RX কে Arduino এর TX এবং সেন্সরের TX কে Arduino এর RX এ প্লাগ করুন।
আপনি যদি তাপমাত্রা সেন্সর ব্যবহার করতে যাচ্ছেন, VCC এবং GND লাইনগুলিকে + এবং - ব্রেডবোর্ডে এবং ডাটা লাইনে 7 পিন করুন।
ধাপ 3: কোড
আপনি হয় রাস্পবেরি পাই বা কম্পিউটারে বাড়িতে সবসময় MQTT ব্রোকার ইনস্টল করতে পারেন, অথবা ক্লাউড MQTT পরিষেবা যেমন ক্লাউড MQTT ব্যবহার করতে পারেন। তারপরে আপনি একটি স্ক্রিপ্ট লিখতে পারেন যা আইএফটিটি ওয়েবহুকের কাছে এইচটিটিপি হিসাবে ডেটা প্রেরণ করে, কারণ তারা এখনও এমকিউটিটি ওয়েবহুক সমর্থন করে না এবং আপনার বাড়িতে ধুলোর মাত্রা খুব বেশি হলে বিজ্ঞপ্তি সেট আপ করে।
আরডুইনো এয়ার স্টেশন
#অন্তর্ভুক্ত |
#অন্তর্ভুক্ত |
#অন্তর্ভুক্ত |
#অন্তর্ভুক্ত |
#অন্তর্ভুক্ত |
#অন্তর্ভুক্ত |
#অন্তর্ভুক্ত |
#অন্তর্ভুক্ত |
#defineDHT11_PIN7 |
#defineRX_PIN2 |
#defineTX_PIN3 |
IPAddress ip (169, 169, 100, 98); |
বাইট ম্যাক = { |
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 |
}; |
constchar *mqtt_server = "m23.cloudmqtt.com"; |
constint mqtt_port = 11895; |
constchar *mqtt_user = "jhetjewk"; |
constchar *mqtt_pass = "QB2p9PiMV6pn"; |
constchar *mqtt_client_name = "arduinoClient1"; // ক্লায়েন্ট সংযোগগুলির একই সংযোগের নাম নেই |
ইথারনেট ক্লায়েন্ট ethClient; |
PubSubClient ক্লায়েন্ট (ethClient); |
সফটওয়্যার সিরিয়াল pmSerial (RX_PIN, TX_PIN); |
dht DHT; |
int pm1; |
int pm2_5; |
int pm10; |
স্বাক্ষরবিহীন আইডি; |
// ফাইল myFile; |
স্ট্রিং গুলি; |
StaticJsonBuffer <200> jsonBuffer; |
JsonObject & root = jsonBuffer.createObject (); |
অকার্যকর সেটআপ() { |
Serial.begin (57600); |
pmSerial.begin (9600); |
আইডি = 0; |
pm1 = 0; |
pm2_5 = 0; |
pm10 = 0; |
যদি (Ethernet.begin (mac) == 0) |
{ |
Serial.println ("DHCP ব্যবহার করে ইথারনেট কনফিগার করতে ব্যর্থ"); |
// নির্দিষ্ট আইপি অ্যাডারের সাথে চেষ্টা করুন |
Ethernet.begin (ম্যাক, আইপি); |
} |
client.setServer (mqtt_server, mqtt_port); |
client.setCallback (কলব্যাক); |
বিলম্ব (2000); |
Serial.println (Ethernet.localIP ()); |
client.connect ("arduinoClient", mqtt_user, mqtt_pass); |
সিরিয়াল.প্রিন্ট ("rc ="); |
Serial.print (client.state ()); |
সিরিয়াল.প্রিন্ট ("\ n"); |
} |
voidloop () { |
intindex = 0; |
গৃহ মান; |
পূর্ববর্তী মান; |
যদি (! client.connected ()) |
{ |
যদি (client.connect ("arduinoClient", mqtt_user, mqtt_pass)) { |
Serial.println ("সংযুক্ত"); |
} |
} |
যখন (pmSerial.available ()) { |
মান = pmSerial.read (); |
যদি ((index == 0 && value! = 0x42) || (index == 1 && value! = 0x4d)) { |
Serial.println ("ডেটা হেডার খুঁজে পাচ্ছি না।"); |
প্রত্যাবর্তন; |
} |
যদি (index == 4 || index == 6 || index == 8 || index == 10 || index == 12 || index == 14) { |
previousValue = মান; |
} |
elseif (index == 5) { |
pm1 = 256 * previousValue + value; |
মূল ["pm1"] = abs (pm1); |
} |
elseif (index == 7) { |
pm2_5 = 256 * previousValue + value; |
মূল ["pm2_5"] = abs (pm2_5); |
} |
elseif (index == 9) { |
pm10 = 256 * previousValue + value; |
মূল ["pm10"] = abs (pm10); |
} |
elseif (সূচী> 15) { |
বিরতি; |
} |
সূচক ++; |
} |
যখন (pmSerial.available ()) pmSerial.read (); |
int chk = DHT.read11 (DHT11_PIN); |
যদি (DHT.temperature == -999 || DHT.humidity == -999) { |
মূল ["তাপমাত্রা"] = "N/A"; |
মূল ["আর্দ্রতা"] = "N/A"; |
} অন্য { |
মূল ["তাপমাত্রা"] = DHT.temperature; |
মূল ["আর্দ্রতা"] = DHT. আর্দ্রতা; |
} |
sendResults (); |
আইডি ++; |
বিলম্ব (5000); |
} |
voidsendResults () { |
// এমকিউটিটিতে প্রকাশ করুন |
char jsonChar [100]; |
root.printTo (jsonChar); |
Serial.println (client.publish ("arduino", jsonChar)); |
// সিরিয়াল থেকে ডিবাগ |
root.printTo (সিরিয়াল); |
সিরিয়াল.প্রিন্ট ('\ n'); |
} |
// সাবস্ক্রাইব করা টপিক (গুলি) এ আগত বার্তাগুলি পরিচালনা করে |
voidcallback (char* topic, byte* payload, unsignedint length) { |
} |
GitHub দ্বারা air দিয়ে হোস্ট করা rawair_quality.ino দেখুন
ধাপ 4: বাক্সটি একত্রিত করুন
আমি শুধু একটি বাক্স ব্যবহার করেছি যা আমি চারপাশে পড়ে ছিলাম এবং সেন্সর থেকে বাতাস বের করার জন্য একটি ছিদ্র করেছিলাম এবং তারগুলি বাইরে যাওয়ার জন্য একটি গর্ত কেটে ফেলেছিলাম (যদিও এটি কিছুটা বড় ছিল)।
আমি বাক্সে সেন্সর সংযুক্ত করতে আঠালো প্যাড ব্যবহার করেছি, বাক্সে ড্রিল করা গর্তের সাথে সেন্সরের ইনপুট হোলটি সারিবদ্ধ করে।
অবশেষে, আমি ইথারনেট এবং পাওয়ার ক্যাবল প্লাগ করেছি।
প্রস্তাবিত:
নাটালিয়া আবহাওয়া স্টেশন: আরডুইনো সৌর চালিত আবহাওয়া স্টেশন সঠিক ভাবে সম্পন্ন হয়েছে: 8 টি ধাপ (ছবি সহ)
নাটালিয়া আবহাওয়া কেন্দ্র: আরডুইনো সৌরশক্তি চালিত আবহাওয়া কেন্দ্রটি সঠিকভাবে সম্পন্ন হয়েছে: 2 টি ভিন্ন স্থানে 1 বছর সফলভাবে পরিচালনার পর আমি আমার সৌরশক্তি চালিত আবহাওয়া কেন্দ্র প্রকল্পের পরিকল্পনাগুলি ভাগ করে নিচ্ছি এবং ব্যাখ্যা করছি যে এটি কীভাবে একটি সিস্টেমে বিকশিত হয়েছে যা সত্যিই দীর্ঘ সময় ধরে বেঁচে থাকতে পারে সৌর শক্তি থেকে সময়কাল। যদি আপনি অনুসরণ করেন
কণা ফোটন আইওটি ব্যক্তিগত আবহাওয়া স্টেশন: 4 টি ধাপ (ছবি সহ)
কণা ফোটন আইওটি ব্যক্তিগত আবহাওয়া স্টেশন:
Arduino এবং রাস্পবেরি পাই চালিত পোষা পর্যবেক্ষণ সিস্টেম: 19 ধাপ (ছবি সহ)
আরডুইনো এবং রাস্পবেরি পাই চালিত পোষা পর্যবেক্ষণ ব্যবস্থা: সম্প্রতি ছুটিতে থাকাকালীন আমরা আমাদের পোষা বিগলের সাথে সংযোগের অভাব উপলব্ধি করেছি। কিছু গবেষণার পর, আমরা এমন একটি পণ্য খুঁজে পেয়েছি যার মধ্যে একটি স্ট্যাটিক ক্যামেরা রয়েছে যা একজনকে তার পোষা প্রাণীর সাথে পর্যবেক্ষণ এবং যোগাযোগ করতে দেয়। এই সিস্টেমগুলির কিছু সুবিধা ছিল b
কণা ফোটন ব্যবহার করে সৌর প্যানেল পর্যবেক্ষণ: 7 টি ধাপ
কণা ফোটন ব্যবহার করে সৌর প্যানেল পর্যবেক্ষণ: প্রকল্পের লক্ষ্য সৌর প্যানেলের দক্ষতা উন্নত করা। এই প্রকল্পটি সৌর কেন্দ্রের কর্মক্ষমতা, পর্যবেক্ষণ এবং রক্ষণাবেক্ষণ বৃদ্ধির জন্য সৌর ফোটোভোলটাইক বিদ্যুৎ উৎপাদন তত্ত্বাবধানের জন্য ডিজাইন করা হয়েছে। এই প্রকল্পে, কণা ph
কণা ফোটন ব্যবহার করে বায়ু গুণমান পর্যবেক্ষণ: 11 টি ধাপ (ছবি সহ)
কণা ফোটন ব্যবহার করে বায়ু গুণমান পর্যবেক্ষণ: এই প্রকল্পে PPD42NJ কণা সেন্সর ব্যবহার করা হয় বায়ু গুণমান পরিমাপ করতে (PM 2.5) কণা ফোটন দিয়ে। এটি শুধুমাত্র পার্টিকেল কনসোল এবং dweet.io- এ ডেটা প্রদর্শন করে না বরং এটি পরিবর্তন করে RGB LED ব্যবহার করে বাতাসের গুণমান নির্দেশ করে