Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

bottle の検索結果:

BottleでUSBカメラの動画を配信する簡易サイトをつくる その2:MotionJPEGにOpenCVで細工する

shuzo-kino.hateblo.jp から発展して、OpenCVで加工して出力するようにします 実際のところ 参考もと

【自分用メモ】Bottleの検証環境用テンプレート

…やかんや、使い捨てのBottle鯖をたてるケースが多いので Windowsでも動く 実際のところ python from bottle import route, run, template, static_file, redirect from bottle import TEMPLATE_PATH from time import strftime from os import path as op TEMPLATE_PATH.append("./template/") …

Bottleで特殊ヘッダーつきPOSTコマンドの受け口をつくる

…自分でもやってみる Bottleで画像を受け取る - Bye Bye Moore を拡張する形で作っていきますbottleでヘッダを呼び出すには"request.headers.raw(KEY)"で呼び出します。 実際のところ tmpディレクトリにあるfoobar.jpgというファイルを/showに特殊ヘッダshowimageつきのPOSTで呼び出すには、以下の様に from bottle import route, request, run, post, static_fi…

ArUcoの結果を画像と一緒にブラウザにだす

BottleでUSBカメラの動画を配信する簡易サイトをつくる - Bye Bye Moore と 二個のArUcoマーカーを角として領域を切り取る その2:領域内のマーカー位置を表示 - Bye Bye Moore を統合し、動画に現在情報を

BottleでArUcoマーカーを追跡し四隅情報をコンソールに出す

…を追加。 from bottle import route, run, response from bottle import TEMPLATE_PATH, jinja2_template as template from camera import VideoCamera import time import cv2 TEMPLATE_PATH.append("./templates/") aruco = cv2.aruco dictionary = aruco.getPr…

BottleでUSBカメラの動画を配信する簡易サイトをつくる その1:MotionJPEGで出す

…作って壊してしているbottleを使用。動画の取得ははOpenCV+Pythonの構成でcv2.VideoCaptureメソッドを活用。問題は取得した動画をどうレンダリングするかという所で、全く知識がない頃であればJavascriptで定期的にリロードする方法でゴリ押ししていたところです。 が……MIME型にmultipart/x-mixed-replaceというのがあり、これを使うとプッシュ動作ができるためJPEGを連続して送るような実装がIPカメラ業界では普及している模様…

ngrokで自社ネット運用のRaspiを外に開放したりwebhookを受け取ったりする

…ython 3.7 bottle 概要 ざっくり書くと……こんな感じの動き ngrok公式に登録 発行されるyamlを適用 web鯖を立ち上げ ngrokコマンドを立ち上げ、後は認証やらをngrokの鯖が代行してくれる HTTP(s)だけじゃなく、TCPもいけるのでSSHの口を開けておく等の運用すら可能。アカウントも、一個使う分には無料!!! 有料アカウントは何種かあり、ドメイン指定とかのオプションが解禁されてきます。 上の方になるとIPアドレスのホワイトリスト運用なんて事ま…

LotY (Language of the Year) 2019 @shuzo_kino

…重宝していました。 bottleはとても活躍してくれましたね。 ……ただ、言語仕様の読み込みは甘いと言わざるを得ません。 完全に日々の仕事をこなす為の道具でしたね……。 Shell Script POSIX原理主義に憧れて、あれこれ修行をしていました。 調べれば調べるほど表現力豊かな言語なんだなぁと、日々関心している次第です。 学生時代にできなかったプロセス間通信が出来るようになったり、そこそこ成長があったように自負しています。 C言語 まさかの、低級言語の王様。 後半になっ…

入れ立てpip環境でCommand "python setup.py egg_info" failed with error code 1 in ……とか言われたらsetuptoolsがちゃんと入っていないかも

…ipの環境をつくり、bottleを導入しようとしたところ以下のエラーが。 $ pip3 install bottle Collecting bottle Downloading https://files.pythonhosted.org/packages/bd/99/04dc59ced52a8261ee0f965a8968717a255ea84a36013e527944dbf3468c/bottle-0.12.13.tar.gz (70kB) 100% |█████████…

Bottleでフォーム経由でファイルアップロード

…のところ from bottle import route, request @route('/upload', method='POST') def do_upload(): name = request.forms.name data = request.files.data if name and data and data.file: raw = data.file.read() # This is dangerous for big files filename =…

RequestsをつかってPythonで外部WEBに接続する その5:ファイルを送信

今回はBottleで立てた個人鯖に画像ファイルをおくるケースを考えてみます。 取りまとめ中…… 参考もと Requests: HTTP for Humans — Requests 2.18.4 documentation

RequestsをつかってPythonで外部WEBに接続する その3:jsonをpostする

…equests.post(url, data=json.dumps(payload)) Note, the json parameter is ignored if either data or files is passed. とあるので、ミスが起こらないようにdataやfileとは併用しないようにします。 参考もと Quickstart — Requests 2.18.4 documentation bottleで外部サービスにPOSTする - Bye Bye Moore

RequestsをつかってPythonで外部WEBに接続する

RequestsはPythonで外部WEBに繋ぐ場合に使えるライブラリです。 過去の記事だと shuzo-kino.hateblo.jp だとか shuzo-kino.hateblo.jp で使ってます。 参考もと Requests: HTTP for Humans — Requests 2.18.4 documentation

Python経由で手っ取り早くローカルHTMLファイルを外部に公開したいならhttp.server

…動できます わざわざbottleで立てる必要なんか無かったんや! 実際のところ "$WEBPAGEPATH"にhtml、css、JSといったローカルでも確認できる静的ファイル群があるとします。 その場合、以下のようにします $ cd $WEBPAGEPATH $ python3 -m http.server $ python3 -m http.server Serving HTTP on 0.0.0.0 port 8000 ... 参考もと 20.19. SimpleHTTP…

websocketで来た内容をIFTTTに投稿してみる

…hon製軽量WEB鯖Bottleを使い、websocketで来た内容をIFTTTに投稿してみます。 ……jQueryクソ雑魚勢なので、やたら苦労しました……。 実際のところ 構成 ファイル構成は以下の記事と同様 shuzo-kino.hateblo.jp $ tree . ├── app.py ├── static │ └── js │ └── client.js └── templates └── base.jade 3 directories, 3 files スクリプト…

BottleでjQueryのPOSTアクションをうけとる

…を作る気はないので、Bottleと連携させます。 実際のところ 構成 $ tree . ├── app.py ├── static │ └── js │ └── client.js └── templates └── base.jade 3 directories, 3 files スクリプトの中身 app.py from bottle import route, get, post, request, run, redirect, static_file, Bottle f…

Mosquittoをwebsocket対応にさせる その2:mqttws31を動かす

…の続きです。 まずはbottle抜きで有名所のJS製MQTTクライアントmqttws31を動かしてみます 実際のところ まずはindex.html。 mqttws31はCDN版を借りてきます。 そっけないので、本文に"sample"とか書いてますが、ここはお好みで。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>TEST</title> <script src="https://cd…

Mosquittoをwebsocket対応にさせる その1:環境構築

…e 1.4.14 (bottled) Message broker implementing the MQTT protocol https://mosquitto.org/ /usr/local/Cellar/mosquitto/1.4.14_1 (33 files, 630.0KB) * Poured from bottle on 2017-10-05 at 23:55:29 From: https://github.com/Homebrew/homebrew-core/…

BottleでWebsocketする

…hon製軽量WEB鯖Bottleで、Websocketを扱う方法です。 実際のところ 環境導入 $ pip install bottle-websocket サンプル実行 公式提供のサンプルはgithubにあります。 実行には別途、geventという並行処理系ライブラリが必要です。 $ pip install gevent $ pip install gevent-websocketまず、python。 "echo.py" from bottle import get, ru…

easyrsa + uwsgi + nginx + bottleで簡易認証キー付きAPI鯖をつくる その1:設定

… # service nginx restart 参考もと python - How to implement private/public apikey with werkzeug/bottle? - Stack Overflow GitHub - OpenVPN/easy-rsa: easy-rsa - Simple shell based CA utility Module ngx_http_ssl_module Module ngx_http_uwsgi_module

bottleで外部サービスにPOSTする

… -*- from bottle import route, get, run, default_app, request, template import requests @get('/api/func') def api_func(): data = {"value1": "abc", "value2": "def", "value3": "ghi"} headers = {'Content-Type': "application/json"} url = 'https…

BottleでCookieを使う

…便利なCookieもBottleで活用可能です。 実際のところ response.set_cookie()で、request.get_cookieで拾います。 @route('/hello') def hello_again(): if request.get_cookie("visited"): return "Welcome back! Nice to see you again" else: response.set_cookie("visited", "yes") r…

BottleでWSGI経由のパラメータを読み込む

BottleでWSGI経由のパラメータを読み込む事ができます。 また、使っているならCGIやSSLのパラメータも取得可能です。 実際のところ お手軽に接続PCのIPアドレスを表示する奴を考えてみます。 #!/usr/bin/env python # -*- coding:utf-8 -*- from bottle import route, get, run, default_app, request, template @route('/my_ip') def show_i…

【進行中】さくらVPS上にBottle鯖を立てる その5:外用に公開する

…e/ubuntu/ZZZ/ master = true plugin = python file = index.py chmod-socket = 666 uid = www-data gid = www-data 参考もと qiita.com inari.hatenablog.com qiita.com Running your Python Bottle application on Nginx using uWSGI - RunAbove knowledge base

さくらVPS上にBottle鯖を立てる その4:Python3環境にBottleを入れる

…環境を活かし、そこにBottleを入れるところまで。 実際のところ 今回の作業は全部リモート環境で。 まずは、諸々のアップデート。 remote:~$ sudo apt-get update remote:~$ sudo apt-get upgrade生のPythonは2系、3を使いたい場合はpython3とします。 RasPiでも同じですね。 remote:~$ python3 -V Python 3.5.2パッケージツールはpipにします。 apt-getで入るやつは古い…

さくらVPS上にBottle鯖を立てる その3:秘密鍵を入れたマシン以外で入れないようにする

shuzo-kino.hateblo.jp のシリーズ第三弾。 今回は秘密鍵を入れたマシン以外で入れないようにします。 これで実害を喰らう可能性は相当低くなりますね。 実際のところ 以降、IPは160.16.xxx.xxx、ユーザはubuntuであるとします。まずはログインできるかお試し。 ここは特に問題ないはず。 local$ ssh ubuntu@160.16.xxx.xxx ubuntu@160.16.xxx.xxx's password: Welcome to Ubu…

さくらVPS上にBottle鯖を立てる その2:Ubuntu LTSを入れる

shuzo-kino.hateblo.jp の続きです。 二回目の今回は、さくらVPSにUbuntu LTSを入れ、コンソールに入るところまで。 実際のところ VPSインスタンスの設定を行います。 「サーバ設定」のボタンをクリック。 しばらく読み込み画面が出た後、 インスタンスの管理画面がでます。 最初はこんな感じ 右の方の「各種設定」から、OSインストールを選択 初回なので、変な欲を出さず標準OSインストールを選びます こんな画面がでてきます。OSの選択画面ですね。 OSを…

さくらVPS上にBottle鯖を立てる その1:さくらVPS契約

…にJSONを吐き出すBottle鯖が必要になったので、 さくらVPS上に構築してみようと思います。 全5回予定の初回である今回は、さくらVPSの契約まで。 実際のところ VPSとクラウドのちがい クソザコナメクジなので、ちゃんと説明できませんでした。 さくら公式によると…… 「VPS」とさくらのクラウドの違いは?VPS(さくらのVPS)とさくらのクラウドは同じ「仮想専用サーバー」サービスです。仮想専用サーバーとは、物理サーバー上で複数の仮想サーバーを構築し、そのひとつひとつを…

leaflet-realtimeで「ピザ配達状況」めいたマップアプリをつくる

…を用意します。 私はbottleでやっつけてます。 shuzo-kino.hateblo.jp 本当に最小構成でこんな感じ from bottle import get, run @get('/api/status') def api_status(): return {"geometry": {"type": "Point", "coordinates": [111.19591175057819, -4.9534701779661079]}, "type": "Featur…

LotY (Language of the Year) 2017 @shuzo_kino

…ssやsinatraよりbottleのが手にあったからね、仕方ないね。 Lua FlashAirやその他組込み機器用に一気に需要が増した言語です。 C/C++に組み込む事ができて十分高速。 その分、あまり魔界記法的な事はできないようですが……。 中国語 ついにRosetta Stoneを(ほぼ)完了、CEF B1まで行きました。 言うて何ら資格試験はやっていないので、HSK3級を狙って勉強を続けます。 当初の懸念通り、みたいコンテンツが繁体字ばっかりで猛烈に後悔しております。