Skip to content
Osamu Mizuno Web Osamu Mizuno Web

Menu

  • Profile
  • Research
  • Publication
  • News
  • SEL@KIT
  • Language: English
    • English English
    • 日本語 日本語

From The Blog, Page 2

(日本語) Raspberry PiでビルドしたPygameでハマった話

Sorry, this entry is only available in 日本語. あくあたん在室モニターの話の続き. なんとかSSLのhandshakeでエラーを出さなくなったので,次に進みます。 Python 3.7.3をソースからインストールしたので,pygameをインストールしないといけないです。 $ sudo apt install libsdl-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev libportmidi-dev libavformat-dev libswscale-dev (省略) $ sudo pip3 install pygame (省略) Successfully installed pygame-1.9.6 インストールは正常に終了. あくあたん在室モニターをおもむろに起動します. Fatal Python error: (pygame parachute) Segmentation Fault Thread 0x71523470 (most recent call first): File “monitor.py”, line 444 in run File “/usr/local/lib/python3.6/threading.py”, line 916 in _bootstrap_inner File “/usr/local/lib/python3.6/threading.py”, line 884 in _bootstrap Current thread 0x76ccd000 (most recent call first): File “monitor.py”, line 1151 in draw_character File “monitor.py”, line 1391 in draw File “monitor.py”, line 192 in main File “monitor.py”, line 1503 in <module> Aborted なんで落ちるの….しかもSegmentation Faultとか、およそPythonのエラーとは思えない。 1151行目はこれ.画面に文字を1文字表示するルーチン. なお,あくあたん在室モニターでは画面上にメッセージがでるときに,昔のRPG風に1文字ずつ表示しています。ここはその部分。 surf,rect = self.myfont.render(ch,self.color) いやいや,他のところでちゃんと表示してるやん.なんでこの場所だけ落ちるの. この文を含むメソッド(draw_character)の呼び出し元をチェックします。 self.msg_engine.draw_character(self.surface, (dx,dy), …

Osamu On Sunday April 28th, 2019 Tuesday May 28th, 2019 Filed under software

(日本語) Raspberry PiのPython3でSSLv3 handshake failureを解決した話

Sorry, this entry is only available in 日本語. あくあたん在室モニターは,Raspberry Piで動いています. 先日らぼのWebサーバがアップデートされたときから,うまく動作しなくなりました. モニターでは,らぼのWebサーバで公開しているAPIを叩いて在室状況を取得します. APIはhttpだけでなく,httpsも対応していました. モニターのログを見ると,データ取得ルーチンが止まっています. ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure おっ,SSLのエラーか. 新しいサーバではTLS1.0は捨てられました.そこに異議を唱えるつもりはないので,こちらで対応すべきですね. 普通に考えて,何かSSL周りが古いとかそういう状況が考えられます. これまで,http.clientを使ってアクセスしていたのですが,requestsのほうが良い感じと聞いたので,書き換えてみました.実際,requestsは良い感じに書けます. テストは次の方法でできます. $ /usr/bin/python3 Python 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] on linux Type “help”, “copyright”, “credits” or “license” for more information. >>> import requests >>> import ssl >>> print(ssl.OPENSSL_VERSION) OpenSSL 1.1.0j 20 Nov 2018 >>> requests.get(‘https://se.is.kit.ac.jp/’) Traceback (most recent call last): File “/home/pi/.local/lib/python3.5/site-packages/urllib3/connectionpool.py”, line 600, in urlopen chunked=chunked) File “/home/pi/.local/lib/python3.5/site-packages/urllib3/connectionpool.py”, line 343, in _make_request self._validate_conn(conn) File “/home/pi/.local/lib/python3.5/site-packages/urllib3/connectionpool.py”, line 839, in _validate_conn conn.connect() File “/home/pi/.local/lib/python3.5/site-packages/urllib3/connection.py”, line 344, in connect ssl_context=context) File “/home/pi/.local/lib/python3.5/site-packages/urllib3/util/ssl_.py”, line 347, in ssl_wrap_socket return context.wrap_socket(sock, server_hostname=server_hostname) File “/usr/lib/python3.5/ssl.py”, line 385, …

Osamu On Sunday April 28th, 2019 Tuesday May 28th, 2019 Filed under software, 未分類
The history of Aqua-tan

The history of Aqua-tan

どうも,omznこと本家あくあたん飼育員です. 最近はあくあたん工房なんてものができていて,アドベントカレンダーをやるってことなので,5日目を頂きました. このブログはあくあたん工房Advent calendarの5日目です. はじめに あくあたんは概念です. 年表 あくあたんの歴史を整理しておきましょう. 2009年9月 omznがKITにやってくる. 2009年10月 前ラボの学生有志が選別に60cm水槽を送ってくれる. 2009年12月 流木水槽(現在の第三水槽)のアクアテラリウムが立ち上がる.コンセプトは「盆栽」.アカヒレとかスジエビとか. 2010年ごろ LEGO MindStorms RCXを4セットもらったので,水槽監視ロボット初号機が試作されるが,あまりのできの悪さに失敗とされる.また,LinuxサーバとUSB-IO(懐かしい…)を使った温度計測回路の組み合わせによる水温測定や照明点灯制御が始まる.ちなみにこの時点では電子回路の知識は無く,書籍の回路を真似ているだけであった. 2010年 前ラボで放棄された60水槽を回収し,イモリ水槽が立ち上がる. 2011年ごろ sel_aquariumのアカウントを取得.水槽のデータをポツポツ呟くだけのbotが誕生する. 2012年3月-2013年1月 omznがカナダに行く. この間,イモリ水槽は学生部屋に移され,流木水槽はリセットされる.イモリは1匹にまで減るものの,ラボ民ではない一学生(Sさん)のおかげで生き延びる.また,この年は学生配属も無かったため,2012年以前と以後を繋ぐ人材がいなくなった.これぞ,そふらぼ版KT境界である. 2013年3月 帰国後,再び流木水槽を立ち上げ,あらたに水槽を買い増し,三水槽体制で水槽を管理することになる. 2013年4月 この年の後期に立ち上がる組み込み実験の担当者に無理矢理される.組み込みの知識0から,「こるてっくす使ってLCD動かしてや〜」みたいな無茶ぶりをされて,失踪しようかと思った. 2013年5月 再度Mind Storms RCXで水槽監視ロボット弐号機が製作される.赤外線通信でLinuxとデータをやりとりでき,現在の参号機の原形であった. 2013年5月11日 これを制御するための仕組みをTwitter制御で行うことを考案し,休眠していたsel_aquariumのbotとして実装される. 2013年8月 10月から組み込み実験が始まるのに,まだ何も準備ができてないので焦ってくる.秋月のLCDモジュールは動かないし,いらいらが募る.気晴らしにbotのマルコフ連鎖データベース用にタイムラインの保存を始める.これが2013年8月15日である. 2013年8月18日 マルコフ連鎖で会話botになったと告知する. 2013年8月26日 イモリの頭にタニシが乗った場面が偶然写真に収められる. 2013年8月29日 みなが話しかけてくるのでデータがどんどん溜まる.2週間でこんな煽りティを発揮している. 2013年9月 急に組み込み実験の機材が完成していく.某研究室の技術開発力と●●●●力を垣間見る.こっちはやっとPWMが分かった. botのマルコフ連鎖が完成したので,とうとう雑談を始めた. botアカウントに名前を付けた方が良かろうと考え,omznの世代はbotに「〜たん」という名前を付けるという不文律があるため,安直に「あくあたん」と名付けられる.プロフ画像は前述のイモリの頭にタニシの写真になる. 2013年11月 組み込み実験が1クール回ったので,大体様子が掴めた.これまでに得た知識と技術を流用し,ここから半年の間に水槽の監視システムの原形がほぼできあがる.この時点でのものは,2018年現在運用されているものと殆ど変わらない. 2013年12月 Raspberry Piについてしっかり調べる.昔やってたことがコンパクトに実現できることが分かったので,俄然やる気が湧く.さっそくRSコンポーネンツから購入して,水槽監視ロボット参号機を作り始める. 2014年4月 「あくあたん」のフォロワーが増え始める. きちゃむらがあくあたんデビュー.1000連続ツイートは見る者を青ざめさせた. 2014年8月 あくあたんシステムをまとめて「みんなのラズパイコンテスト」に応募する. 2014年12月 あくあたんシステムが「みんなのラズパイコンテスト」グランプリ受賞. 2015年2月25日 あくあたん古参フォロワーの1人(Mさん)がそふらぼのホワイトボードにあくあたんキャラクターの落書きをする. 2015年3月6日 落書きのキャラクターをスキャンし,SVGに変換した後,平面モデリングされ,3Dプリントされる. 2015年3月11日 さらに立体化されたモデルが作られ,あくあたんフィギュアの初期モデルが誕生する. フィギュアが大量生産される. 2015年4月 日経Linuxにあくあたんの記事が載る。 あくあたん関連の文献一覧 2015年6月ごろ せっかく作ったフィギュアの活用法を考えた結果,そふらぼ民全員にBLEビーコンを内蔵させて配布することになる.同時にRPG風在室管理が完成し,運用が開始される.システム名は「あくあたんといっしょ」. 2015年8月 「あくあたんといっしょ」を「みんなのラズパイコンテスト2015」に応募.その後10月に優秀賞受賞. 2016年 ぷりんがあくあたんの確率を変動させたとしか思えない事件.このころはまだそふらぼに来るなんて考えてもいなかったのにな… あくあたんによるD進サブリミナル作戦が発動する. 2017年3月 国際会議IWESEP2017であくあたんを使った研究を発表する. 2018年 ねこくんをD進させることに成功し,あくあたんによるD進サブリミナル作戦が有効であることが確認される. 2018年 あくあたん工房ができる。 2018年 大学案内2019にて,あくあたんシステムが情報工学のページに一番大きな写真で掲載される. 技術的なこと 特に無し. 最後に 「あくあたん」と名付けられてから,まだ5年.あのフィギュアができてからまだ3年しか経っていないことに,この記事を書いてて気づきました. これからも,概念としてのあくあたんをよろしくお願いします. ついでに,あくあたん工房もよろしくお願いします. そうそう,そふらぼは来る者は拒まずですので,いつでも相談に乗ります.(何の?)

Osamu On Wednesday December 5th, 2018 Filed under aquarium, embedded, misc

(日本語) Net::Twitter::Liteでのupdate_media

Sorry, this entry is only available in 日本語. 難しかった. Net::Twitterで,update_with_media(media[])を長らく使っていたけど,これはもうdeprecatedなので,今回のstream廃止と同時に使わないようにしようと思った. upload(media) → update() で行けるはずなのだけど,Net::Twitterのドキュメントみても”media”が何なのかがよく分からない. Net::Twitter::Liteだと,これは upload_media(media[])となっている.これなら今までと同じなので,使える. $tw->{status} = $s; $tw->{media} = [undef,$fname, Content_Type => $ftype, Content => $image]; $nt->update_with_media($tw); みたいなのを, $tw->{status} = $s; $tw->{media} = [undef,$fname, Content_Type => $ftype, Content => $image]; $img = $nt->upload_media($tw); $tw->{media_ids} = $img->{media_id}; $nt->update_with_media($tw); としたら,update_with_mediaがHTTP::Messageのエラーを吐く. $tw->{status} = $s; $tw->{media} = [undef,$fname, Content_Type => $ftype, Content => $image]; $img = $nt->upload_media($tw); $tw->{media_ids} = $img->{media_id}; $tw->{media} = undef; $nt->update_with_media($tw); で動いた.横着せずに$twと生のイメージを分離しておくべきだった,ってこと.

Osamu On Monday August 13th, 2018 Filed under software
Getting Text from LaTeX without line breaks

Getting Text from LaTeX without line breaks

Sorry, this entry is only available in 日本語. LaTeX文書からテキストを抜き出したい場面は結構あります.(私は主に英文校正に出す時ですが,世の中にはWord文書でしか受け付けてくれない○○なジャーナルとかあったりするので,Wordへの流し込みをするときにも必要ですね…) それを可能な限り手出しする量を減らしたい場合にどうすれば良いかのメモです. pdftotextを使う xpdfに付属するpdftotextを使います.Macなら, $ port install xpdf-japanese で一発です. 使い方ですが $ pdftotext submit.pdf とすれば,submit.txtにテキストが保存されます. 改ページ(^L)がいくつか残るのと,itemizeのポチが文字化けすることを除けば,テキスト自体の変換効率はとても高く,ほとんどそのまま使えます. 追記 xpdf には pdftotext が付属しなくなっていた. 替わりにxpdf派生プロジェクトのpopplerをインストールすればよい. $ port install poppler おわり.

Osamu On Monday September 7th, 2015 Tuesday September 26th, 2017 Filed under lab, misc, research
In Thailand

In Thailand

I’m in Kasetsart University in Thailand from Jul 31, 2015 to Sep 11, 2015.

Osamu On Friday August 28th, 2015 Filed under lab, research
Aquatan won the grand prize of Raspberry Pi contest

Aquatan won the grand prize of Raspberry Pi contest

My aquarium tank monitoring droid “Aqua-tan” won the grand prize of Raspberry Pi contest. http://coin.nikkeibp.co.jp/coin/itpro-s/seminar/LIN/rpic15/

Osamu On Friday August 28th, 2015 Friday August 28th, 2015 Filed under aquarium, embedded
あくあたん空調制御ユニット

あくあたん空調制御ユニット

3台目のraspberry piは壁に張り付いています。こいつの役目は空調パネルを物理的に押すこと。もちろん、水槽監視ユニットの計測した温度データに基づいてスイッチを入れたり切ったりできます。

Osamu On Friday June 20th, 2014 Friday June 20th, 2014 Filed under embedded, lab, software
あくあたん水槽監視・制御ユニット

あくあたん水槽監視・制御ユニット

こちらは2つめのRaspberry Piです.水槽や環境の状態をモニタして,照明・ファンの制御を行う部分です.センサーには温度センサーDS18B20が4基,大気圧センサMPL115A2が1基,湿度センサDHT11が1基搭載されています.また,MOSFETで3基の冷却ファンを制御し,ACリレーで3基のAC電源を制御できます. 裏側から,Raspberry Piを外した状態はこんな感じ.ad-hocに回路を追加してしまったので,きれいな基板ではありません.もっと小さい面積に詰められたはずなんですが…

Osamu On Thursday June 19th, 2014 Friday June 20th, 2014 Filed under embedded, software
あくあたん弐号機 (Raspberry Pi版)

あくあたん弐号機 (Raspberry Pi版)

あくあたん弐号機義体部はRaspberry Piで制御する移動型カメラ台+自動給餌器です.左側がUSBカメラ2基(広角+赤外線)で,この部分は上下動も可能です. 左右への移動はタイヤで行います.上下左右の動力にはLEGOの旧型モーターを2基使い,DRV8830によって制御しています.モーターの定格を遙かに下回る電圧しか与えられませんが,思いの外さくさく動きます.

Osamu On Thursday June 19th, 2014 Thursday June 19th, 2014 Filed under embedded, software
  • ← Newer Posts
  • Older Posts →

© 2025 Osamu Mizuno Web

Built with Enlightenment Theme and WordPress