Local MQTT Broker aur Node.js App banana
Is phase me hum local Mosquitto broker run karenge, ek chhota Node.js MQTT app banayenge, aur terminal me real-time publish/subscribe result dekhenge.
home/sensor/data.Is phase ka output
Local machine par broker chalega, Node.js app broker se connect hoga, app fake sensor data publish karega, aur wahi app subscribe karke message receive bhi dikhayega.
mqtt package se broker connect karega.Step 1: Mosquitto install karo
Mosquitto ek lightweight MQTT broker hai. Isko install karne ke baad hum local broker run kar sakte hain.
Windows
Agar winget available nahi hai, official installer use karo: https://mosquitto.org/download/
macOS
Ubuntu / Debian
Check install
Step 2: Local broker start karo
Ek terminal broker ke liye rakho. Verbose mode me connection aur message logs clearly dikhte hain.
Agar Address already in use ya port busy error aaye, iska matlab port 1883 par broker already running hai. Ya to direct next step test karo, ya old broker ko stop karke fresh start karo.
macOS / Linux: port check
macOS / Linux: stop process
Windows: port check
Windows: stop process
Example: lsof -i :1883 me mosquitto ki LISTEN row ka PID 1234 dikhe, command chalegi kill 1234. Uske baad broker ko dubara mosquitto -v se start karo.
Step 3: Pehle command line se test karo
Node.js app banane se pehle ek basic publish/subscribe test karte hain. Isse broker ka kaam clear ho jayega.
Terminal 2: Subscriber
Terminal 3: Publisher
Result: subscriber terminal me demo/message Hello from MQTT dikhega. Yahi MQTT ka core idea hai.
Agar terminal me dquote> aa jaye, iska matlab quote close nahi hua. Ctrl+C dabao aur command dubara single quotes ke saath run karo: -m 'Hello Yarana IoT Guru!'
Step 4: One-way live message test
Ab ek terminal se baar-baar message publish karenge aur doosre terminal me live receive dekhenge. Ye simple one-way communication hai.
Terminal 2: Receiver
Terminal 3: Sender
Sender terminal me jo bhi type karoge, receiver terminal me chat/room message format me show hoga.
macOS zsh me read -p use mat karo, warna read: -p: no coprocess aa sakta hai. Isliye prompt ke liye echo -n aur input ke liye simple read msg use kar rahe hain.
Step 5: Two-way chat test
Two-way communication me dono side ek topic ko sunte hain aur doosre topic par message bhejte hain.
Terminal A: Abhishek side
Terminal B: Yarana side
Flow: Abhishek side chat/a par publish karega aur chat/b sunega. Yarana side chat/b par publish karega aur chat/a sunega.
Stop karne ke liye pehle Ctrl+C dabao. Agar background subscriber still running ho to jobs check karo aur kill %1 run karo.
Step 6: Node.js MQTT app banao
Ab ek simple Node project banate hain. Is app me same client subscribe bhi karega aur har 2 second me sensor data publish bhi karega.
Broker message route karta hai. Node app message home/sensor/data topic par bhej raha hai, aur same topic ko sun bhi raha hai.
Step 7: Main points recap
Is phase me complete local MQTT flow ready ho gaya.
- Phase 1 me MQTT concept tha; Phase 2 me uska local practical flow hai.
- Mosquitto broker local computer par MQTT server ki tarah run hota hai.
- Publisher message bhejta hai, subscriber topic ko sunta hai, broker dono ko connect karta hai.
- One-way test me ek sender aur ek receiver hota hai.
- Two-way test me dono side publish bhi karte hain aur subscribe bhi karte hain.
- Node.js app me
mqtt.connect(),subscribe(), aurpublish()main functions hain. - Agla phase ESP32 ya real device ko isi broker se connect karne ke liye ready karega.