ওয়েব ইন্টারফেসের মাধ্যমে পাইথন স্ক্রিপ্টগুলি কার্যকর করুন


15

আমি অনেকগুলি প্রকল্প দেখেছি যা জিপিআইও পিনগুলি নিয়ন্ত্রণ করার দাবি করে তবে আমি কিছুটা আলাদা চাই, উদাহরণস্বরূপ, একটি এলইডি জ্বলতে সক্ষম হতে।

সেখানে কি এমন কোনও সিস্টেম রয়েছে যেখানে একটি ওয়েব ইন্টারফেসের মাধ্যমে আমি পাইথন স্ক্রিপ্টটি ক্লিক করতে এবং সম্পাদন করতে পারি, উদাহরণস্বরূপ আমার রাস্পবেরিতে "ব্লিংকপিপি"।

উত্তর:


12

আপনি সিজিআই বা অন্যান্য সার্ভার সাইড স্ক্রিপ্ট ব্যবহার করে যে কোনও উপায়ে এটি ঘটতে পারেন। একটি সমস্যা হ'ল জিপিআইও পিনগুলি অ্যাক্সেসের অনুমতি থাকবে। পরিষ্কার সমাধান বলে মনে হচ্ছে না । বর্তমানে জিপিও ফাইলগুলি যে ওয়েব সার্ভারটি চালাচ্ছে ব্যবহারকারীর কাছে ছড়িয়ে দেওয়া , এমন একটি (সুইড) প্রোগ্রাম কল করুন যা পিনগুলি অ্যাক্সেস করতে পারে বা পিনগুলিতে অ্যাক্সেসের সাথে একটি পৃথক ডিমন থাকতে পারে যা আপনি বার্তা পাঠাতে পারেন (সিগন্যাল, পাইপ) / সকেট, অন্যান্য আইপিসি ...)।

"একটি ওয়েব ইন্টারফেসের মাধ্যমে পাইথন স্ক্রিপ্ট চালানো" এর জন্য, আপনি ওয়েব.পিকে দেখতে চাইতে পারেন । এটি একটি খুব ঝরঝরে ছোট মডিউল যা আপনাকে একটি একক ফাইল স্বতন্ত্র "ওয়েব পরিষেবা" লিখতে দেয় যা কিছু করতে পারে। আইএমই এই জাতীয় জিনিস জন্য খুব সুবিধাজনক। কার্যকরভাবে কোনও কনফিগারেশন বা বিশেষ সফ্টওয়্যার প্রয়োজন নেই (সাধারণ পাইথন ইনস্টল এবং ওয়েব.পি নিজেই বাদে)। পাইথনে ইউআরএলগুলির জন্য হ্যান্ডলারগুলি কেবল লিখুন, allyচ্ছিকভাবে এইচটিএমএল টেমপ্লেটগুলি দিয়ে চালান। ডান পোর্টে একটি ক্লায়েন্টকে (ব্রাউজার, অন্যান্য স্ক্রিপ্ট, উইজেট ..) নির্দেশ করুন এবং এটি ঠিক কাজ করে। :)

সম্পাদনা করুন: একটি নতুন প্রকল্প দেখা গেছে, সর্পিন্ট মনে হয় সকেট বা সম্ভবত জাল চর ডিভাইস ইন্টারফেস থেকে জিপিওকে উইগলিংয়ের অনুমতি দেয়।


4
ফ্লাস্ক web.py. এর অনুরূপ বলে মনে হচ্ছে fla এছাড়াও জাঙ্গোতে আরও বৈশিষ্ট্য রয়েছে বলে মনে হয় - সম্ভবত এই প্রকল্পের জন্য ওভারকিল।
ফ্রেপা

এরম, জিপিআইও অ্যাক্সেসের জন্য কেবল ব্যবহারকারীকে জিপিও গ্রুপে যুক্ত করুন। অথবা সার্ভারটি রুট হিসাবে শুরু করুন, যা বেশিরভাগ লোক 80 পোর্টের জন্য যাইহোক করে। ফ্লাস্ক উদাহরণগুলি স্ক্রিপ্টগুলিতে কল করতে পারে বা টগলগুলির মধ্যে ঘুম যোগ করতে সময় ব্যবহার করতে পারে। টেমপ্লেটগুলির মধ্যে প্রধান বৈশিষ্ট্যটি {{} is যা আমি সন্দেহ করি যে ওপিটির দরকার নেই।
mckenzm

আপডেটের জন্য ধন্যবাদ. "এরম" এর জন্য, যদিও এই উত্তরটি ২০১২ সাল থেকে যখন জিপিআইও কেবল কুখ্যাতভাবেই মূল ছিল। আমি দেখতে পাচ্ছি যে এখন একটি জিপিও গ্রুপ রয়েছে, এটি দুর্দান্ত অগ্রগতি এবং হার্ডওয়্যার অ্যাক্সেসের আরও সঠিক উপায়।
এক্সটিএল

2

আপনি যদি কেবল ওয়েব-ডেভেলপমেন্ট দিয়ে শুরু করেন তবে বোতলটি দেখুন । বোতল ফ্লাস্কের চেয়ে সহজতর এই অর্থে যে এটি একটি ফাইলে সম্পূর্ণ ওয়েব-কাঠামো। বিপরীতে, ফ্লাস্কের লক্ষ্য বিভিন্ন লাইব্রেরি থেকে শব্দ কোডটি পুনরায় ব্যবহার করা এবং এটি আরও শক্ত, তবে আরও জটিল হতে পারে।

বোতল সহ হ্যালো ওয়ার্ল্ড এখানে:

from bottle import route, run, template

@route('/hello/:name')
def index(name='World'):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

এটি দিয়ে চালান:

python HelloBottle.py

এবং একটি ব্রাউজারে খুলুন: http://localhost:8080/hello/world


আপনার ওয়েবসাইট অন্য কম্পিউটারের সেট থেকে পাওয়া করতে hostকরতে 0.0.0.0runপদ্ধতি। উপরের হ্যালো ওয়ার্ল্ডের শেষ লাইনটি পড়তে হবে:

run(host='0.0.0.0', port=8080)

আপনি এখন পাই এর আইপি ঠিকানার মাধ্যমে আপনার ওয়েবসাইট অ্যাক্সেস করতে সক্ষম হবেন: http://192.168.0.123:8080/hello/world

আরও তথ্যের জন্য মোতায়েনের বোতল ডকুমেন্টেশন দেখুন ।


আমার রাস্পবেরি পাই-তে, যদি আমি কার্যকর curl http://localhost:8080/hello/worldকরি তবে আমি প্রত্যাশিত ফলাফলগুলি পাই । তবে আমি ল্যানের উপর দিয়ে আমার নিয়মিত কম্পিউটারে এটি অ্যাক্সেস করতে সক্ষম হতে চাই। ব্যবহার করার পর ifconfigআমার আইপি ঠিকানার জন্য, আমার নিয়মিত কম্পিউটারে নিম্নলিখিত URL- সংযোগ স্থাপন করতে অক্ষম: http://192.168.1.102:8080/hello/matthew। আমি ` 192.168.1.102/home.php ' এ তৈরি করা অন্য ওয়েবপৃষ্ঠায় অ্যাক্সেস করতে সক্ষম । আমি আমার বোতল পৃষ্ঠাতে কীভাবে করতে পারি সে সম্পর্কে আপনার কোনও ধারণা আছে?
ম্যাথু ময়েসেন

তোমার home.php implicitely বন্দর 80 (HTTP) যে পোর্টে বোতল চলমান চেষ্টা মাধ্যমে অ্যাক্সেস করা হয় এবং এটি যদি succedes, নিশ্চিত করুন সেখানে মধ্যে কোনো ফায়ারওয়াল অথবা আপনার ডেস্কটপ এবং পাই বন্দর 8080. ব্লক আছে কিনা
Bengt

দেখা যাচ্ছে যে আমার আইপিটি লোকালহোস্ট বা ০.০.০.০ এ পরিবর্তন করতে হবে
ম্যাথু ময়েসেন


1

আইপিথন নোটবুক ইনস্টল করুন।

rpi#> sudo apt-get install ipython-notebook ipython3-notebook

তারপরে এটি চালান:

rpi#> ipython notebook

দ্রষ্টব্য: আপনি এটি পিসি থেকেও অ্যাক্সেস করতে পারবেন:
rpi #> আইপথন নোটবুক --ip = 10.0.0.7
# এখানে 10.0.0.7 আমার আরপিআই আইপি।
# ব্রাউজারে অন্য কম্পিউটার থেকে আমি টাইপ করছি:
http://10.0.0.7:8888

এখানে চিত্র বর্ণনা লিখুন

আপনি এটি দেখতে পাবেন:

এখানে চিত্র বর্ণনা লিখুন

তারপরে একটি নতুন নোটবুক তৈরি করুন এবং সেখানে আপনার কোডটি চালান:

এখানে চিত্র বর্ণনা লিখুন

পদ্ধতি পরীক্ষা:

এখানে চিত্র বর্ণনা লিখুন

বিবলিওগ্রাফি:

http://ipython.org/
http://jupyter.org/
https://www.raspberrypi.org/docamentation/usage/gpio-plus-and-raspi2/
http://maxembedded.com/2014/07/ ব্যবহার-ফলবিশেষ-Pi-GPIO-ব্যবহার-পাইথন /

ইউটিউব: https://www.youtube.com/watch?v=cJuF4IDMuLY

অনেক গুরুত্বপূর্ণ:

এমপিএস-ইউটিউব জুড়ে লিনাক্স স্ক্রিন প্রোগ্রামের ব্যাকগ্রাউন্ডে সংগীত আরপিআইতে চলছে।

rpi#> sudo apt-get install python3-pip
rpi#> sudo pip3 install --upgrade mps-youtube  
rpi#> sudo pip3 install --upgrade https://github.com/mps-youtube/pafy/archive/develop.zip
rpi#> mpsyt # to start it
    # configure mpsyt to show video, player.
    mpsyt#> set show_video True
    mpsyt#> set player omxplayer
    mpsyt#> set search_music False
    mpsyt#> . lindsey stirling
    mpsyt#> 2 # to play song from a list.

শুভকামনা!


আপনার প্রশ্নটি উন্নত হতে পারে ... পাইথন নোটবুক কেন ইনস্টল করবেন? ঠিক এটা কী কাজ করে? এটি অবশ্যই সম্ভাব্য সুরক্ষা উদ্বেগ সম্পর্কে মন্তব্য করা উচিত (যেমন এটি ইন্টারনেটে উন্মুক্ত রেখে দিন)।
জ্যাকব এম 1001

@ জ্যাকব এম 1001, আজ নয়, এখন নয়। প্রয়োজনে গ্রন্থপঞ্জিটি নীচে অনুসরণ করুন।
ভিটালি গেলবার্ট

0

এটি কীভাবে অর্জন করা যায় তা এখানে একটি টিউটোরিয়াল দেওয়া আছে: https://roderickvella.wordpress.com/2017/01/04/control-a-separate-running-script-from-a-web-server-python-rpi/


1
দয়া করে আপনার উত্তরে টিউটোরিয়ালের সংক্ষিপ্তসার করুন, যদি লিঙ্কটি কোনও দিন অদৃশ্য হয়ে যায় বা কনটেন্ট পরিবর্তিত হয়।
tlhIngan

আমরা এখানে তথ্যহীন লিংক-উত্তর সম্পর্কিত একটি নতুন নীতি চেষ্টা করছি। যদি এই পোস্টটি এমন তথ্য ধারণ করতে সম্পাদিত না হয় যা কোনও উত্তর হিসাবে দাঁড়াতে পারে তবে তা ন্যূনতম হলেও 48 ঘন্টার মধ্যে এটি সম্প্রদায় দ্বারা সংশোধন করা সহজ করার জন্য এটি সম্প্রদায় উইকিতে রূপান্তরিত হবে।
স্টিভ রবিলার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.