Chapter 9: Raspberry pi server | পর্ব ৯ঃ রাসবেরি পাই সার্ভার
How to make a local server using Raspberry pi.
এই এক্সপেরিমেন্টে আমরা একটি রাসবেরি পাইভিত্তিক সার্ভার তৈরী করব। এতে করে একটি ওয়েবপেইজের মাধ্যমে রাসবেরি পাইয়ের জিপিআইও পিনগুলোকে কন্ট্রোল করা সম্ভব হবে। এখানে আমরা রাসবেরি পাইয়ের ১০ নাম্বার পিনের সাথে সংযুক্ত একটি এলইডিকে অন-অফ করব।
প্রয়োজনীয় যন্ত্রপাতি | পরিমাণ | প্রোডাক্ট লিংক |
Raspberry Pi 4 Model B 4GB Complete Set | 1 | এখানে ক্লিক করুন |
Breadboard | 1 | এখানে ক্লিক করুন |
LED-RED | 1 | এখানে ক্লিক করুন |
Male to female jumpers | 2 | এখানে ক্লিক করুন |
100ohm ¼ watt resistor | 1 | এখানে ক্লিক করুন |
সার্কিটঃ নিচের সার্কিট কানেকশনটি সম্পন্ন করুন।
কোডঃ নিচের কোডটি রাসবেরি পাইতে আপলোড করি।
import RPi.GPIO as blink_led
blink_led.setmode(blink_led.BOARD)
blink_led.setup(10,blink_led.OUT)
import socket
HOST, PORT = '', 8888
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print('Serving HTTP on port')
print(PORT)
while True:
client_connection, client_address = listen_socket.accept()
request_data = client_connection.recv(1024)
print(request_data.decode('utf-8'))
http_response = b"""\
HTTP/1.1 200 OK
<html>
<head>
<title>Raspberry pi server!</title>
</head>
<body>
<h1>Raspberry pi server</h1>
<font color="green">Congratulations! The Raspberry pi Server is working!</font>
<p>A LED is attached to pin#10 </p>
<p><a href=\"/LOCK=ON\"\"><input type="button" style="background-color:white;color:black;width:150px;
height:40px;" value="Turn On LED"></a>
<a href=\"/LOCK=OFF\"\"><input type="button" style="background-color:black;color:white;width:150px;
height:40px;" value="Turn Off LED"></a>
<p><a href="http://www.techshopbd.com/">Visit for electronic components</a>
<p><a href="http://blog.techshopbd.com/">Visit for electronics blogs</a>
</body>
"""
if request_data.decode('utf-8').find('LOCK=ON')>=0:
blink_led.output(10,True)
print ('I am on')
elif request_data.decode('utf-8').find('LOCK=OFF')>=0:
blink_led.output(10,False)
print('I am off')
client_connection.sendall(http_response)
client_connection.close()
প্রোগ্রাম রান করার পর serving http on port 8888 মেসেজটি দেখা যাবে।
ওয়েব ব্রাউজারে localhost:8888 টাইপ করে Enter চাপলে নিচের ওয়েবপেজটি প্রদর্শিত হবে।
ওয়েবপেইজের Turn On LED এবং Turn Off LED বাটন ক্লিক করার মাধ্যমে এলইডি অন-অফ করা হবে।