MicroPython的午睡(12) ラズパイPico、簡単!マルチコアでLチカを | デバイスビジネス開拓団 (jhalfmoon.com)
----------------------------------------------------------------
https://qiita.com/sireline/items/521e303f4e1fb72bca22
------------------------------------------------------------
https://neos21.net/blog/2020/12/29-02.html1で成功 以下のコマンドで実行
192.168.3.10:8080/?action=streamで全画面ででた
urs/localではwwwがないのに動いた、不思議やな。。。なかったら無視するのだろう
そのほかに、https://hatakekara.com/raspberry-pi-mjpg-streamer-ffmjpg/で
home/pi/mjpg...../mjpg.....experimentalにて./start.hで
192.168.3.10:8080でストリームを選ぶこともできた ここにはwwwがあった
最新版ではinput_raspicam.soがusr/local以下にしかできん どうもinput_uvc.soに
吸収されてしまったようだ ブルーバックスの例題は実施困難であった
注:https://ponkichi.blog/mjpg-streamer/ は参考程度
$ cd /usr/local/lib/mjpg-streamer
$ mjpg_streamer -o './output_http.so -w ./www -p 8080' -i './input_raspicam.so -x 640 -y 480 -fps 30 -q 10'
--------------------------------------------------------------------------
ラズベリーパイを始めよう 卒業問題 weblamp.py と templates/main.html
-------------------py----------------------------
from gpiozero import LED
from flask import Flask,render_template,request
app = Flask(__name__)
pins = {
24:{'name':'coffee maker', 'state':'False'},
25:{'name':'lamp', 'state':'False'}
}
led24=LED(24)
led25=LED(25)
led24.off()
led25.off()
@app.route("/")
def main():
pins[24]['state']=led24.is_lit
pins[25]['state']=led25.is_lit
templateData = {
'pins' : pins
}
return render_template('main.html', **templateData)
@app.route("/<changePin>/<action>")
def action(changePin, action):
changePin = int(changePin)
deviceName = pins[changePin]['name']
if action == "on":
if changePin == 24:
led24.on()
pins[24]['state'] = led24.is_lit
if changePin == 25:
led25.on()
pins[25]['state'] = led25.is_lit
message = "Turned " + deviceName + " on."
if action == "off":
if changePin == 24:
led24.off()
pins[24]['state'] = led24.is_lit
if changePin == 25:
led25.off()
pins[25]['state'] = led25.is_lit
message = "Turned " + deviceName + " off"
templateData = {
'message':message,
'pins':pins
}
return render_template('main.html', **templateData)
if __name__=="__main__":
app.run(host='0.0.0.0',port=80,debug=True)
----------------html----------------------------------------------------------
<!DOCTYPE html>
<head><tilte>Current Status</title>
</head>
<body>
<h1>device listing and status</h1>
{% for pin in pins %}
<p>the {{ pins[pin].name }}
{% if pins[pin].state == True %}
is currently on (<a href="/{{pin}}/off"> turn off</a>)
{% else %}
is currently off (<a href="/{{pin}}/on"> turn on</a>)
{% endif %}
</p>
{% endfor %}
{% if message %}
<h2>{{message}}</h2>
{% endif %}
</body></html>