とある実験のーと

趣味ブログ

(備忘録) ArduinoでDHCPサーバからIP貰ってtwitter投稿

凄く初歩的なことから始めてます。Lチカを無事終え、次にネットに繋ぎたくなりました。コードなどの備忘録として書き留めます。いじめないで下さい。

        f:id:azospiran:20170512213626j:plain

Arduinoをネットに繋ぐにはEthernetシールドが必要です。今回ケチったばっかりに、この互換シールドにはなんとMACアドレスが付与されていません。調べてみると、安いシールドを購入した場合は同じ状況みたいですね。対処法としては自分が保有している破棄するネットワーク機器に付随していたMACアドレスを流用するということが一番理にかなっているようです。個人の実験なんで・・・。互換Arduino本体と合わせても2000円強。価格崩壊です。

シールドの適用ってこんなに簡単なんですね。亀の甲に載せるようにArduinoに接続するだけでドライバのインストールもなにも要求されませんでした。むしろ本当に動いているかどうか心配になります。

Ethernetシールドの使い方は、これまた沢山の方が書いているのですが、基本的にはMACアドレスIPアドレスを自分で指定してあげる必要があるようです。ただ、IPアドレスに関しては易々と固定IPが頂けるような環境じゃなかったので、DHCPサーバから動的IPを頂くことにしました。これでこのシールドが動いているかどうかの確認も出来て一石二鳥です。以下のブログ様を参考にさせて頂きました。本当にここに載っているコードをコピペしてMACアドレスだけ編集しただけなのでコードは割愛します。

初心者だけど、一歩ずつ Arduino 超小型マイコン電子工作: ArdinoでDHCPを試してみる

シリアルモニタにローカルIPアドレスが表示されれば成功です。むむむ。簡単過ぎる・・・。

晴れてW.W.W.の大海原にアクセスする準備が整いました。

 

以下のブログ様を参考にしながら設定を進めていきます。

Arduino から Twitter へメッセージを送ってみた:息子と一緒に Makers:So-netブログ

 簡単に言うと、
① 使うtwitterアカウントで"Arduino"からのアクセスを許可し、tokenコードをゲットする。
② Tweet Library for Arduinoよりtwitter投稿用ライブラリをダウンロード、解凍し、ライブラリフォルダArduino/Librariesに投げ込む。
③ Sample codeをコピペして、IPアドレスDHCPサーバ経由で得られるよう、先ほどのコードと合体させArduinoに書き込む。数秒後に投稿される。

f:id:azospiran:20170512214217p:plain
実験用鍵垢に投稿してみました。

詰まったところ 
連続で同じ文章を投稿しようとするとtwitter側から弾かれて"403"エラーとなる。

 

・・・このくらいでしょうか。コピペで申し訳ないが本当に簡単。今度はこの機能で何かしらの計測値を定期的に呟くようにしてみようと思います。

以下が実際に使用したコード。***を自分設定に変える。

arduino_twitter_with_dhcp

Arduinoの有効活用を画策中(まだ構想段階)

イデアメモ。順次実現できれば。目標は一年以内。書かないと忘れるし、たぶんやらなくなると思ったので。

 

○ 温度ロガー 
これは皆やってるのですぐできる。

○ 鉢の土壌乾燥お知らせシステム
土壌の含水率がある値以下になった場合、メールでアラートしてくれる。あわよくば自動給水システムへ発展。アラートメールを送るのはラズパイを挟まなければならない?

○ マスフローコントローラのインテリジェント化
これは別の実験に使いたいため自分の中では実用性高。マスフローコントローラは良い意味でアナログ入出力が充実しているため、Arduinoで容易に設定可能と考えられる。2つないし3つのマスフローコントローラを制御して自由にガス流量とガス混合比を設定することを画策中。

○ 自動給餌システム
飼ってるメダカに朝夕定時に餌をあげるシステム。ずぼらなので。問題はどのように一定量の餌を与えるのか。間違えたら水面が餌だらけになる可能性も。

 

 最初の二つは将来的に農業における栽培環境管理への活用を見据える。今も既往製品で実現できるが、野外で使用するため、これらの計測機器は高価なのに故障率が非常に高い。雷でも容易に故障する。

 このご時世、すこし知識があれば容易に設置でき、末端端末は故障したらすぐ取り替える、そういう使い方が利にかなっているのではないだろうか。栽培管理には難しいデータは必要なく、温度, 湿度, 土壌含水率, 日射量 程度であろう。 これらはすでに開発、安価で販売されているセンサー類で十分測定できる。ただ、こういうシステムは競争相手がおらず、農家も頼りきりになるので寡占状態になりシステムの価格も高止まりである。ソフトウェアはクローズドでカスタマイズできず、つぶしがきかない。

 こういうときにオープンソースのシステムという選択肢があっても良いのではと日頃から考えている。金儲けをするような内容ではない。購入する機器、センサー、組み合わせ、ソースコードすべてを公開して、そういうのが好きな人がお互いに活用すればいいのではないだろうか。もうやられてるのかな?

ひたち海浜公園にネモフィラを見に

本業が忙しくなってしまい更新が途絶えておりマス・・・。

お恥ずかしいことに、今年初めてネモフィラの絨毯の存在を知りました。

テレビで紹介されていたので、居ても経ってもいられず、連休のど真ん中に突撃してみました。

朝5時に中央線沿いの駅を出発し、常磐線の普通電車で勝田駅まで。特急代をケチったのでここまで2時間半かかります。そして、ひたちなか海浜鉄道湊線に乗り換え、阿字ヶ浦まで行きました。勝田で公園入園料がセットになったお得な一日乗車券が1100円で買えます。8時40分頃の乗り換えでしたが既に沢山の人が乗り換えを待っており、まさかの満員電車でした。ひたちなか海浜鉄道ディーゼル車両で、あの独特の排ガス臭が地元の懐かしい雰囲気を思い出させてくれました。

f:id:azospiran:20170506101708j:plain

さぁネモフィラ!テレビで見るより凄かったです。どなたかが空との境目が人の列が無いと分からないと書いておられるのを拝見しましたが、まさにそうでした。これは期待を裏切りません。3時間かけて来たかいがありました。

f:id:azospiran:20170506101919j:plain

f:id:azospiran:20170506101944j:plain

モネフィラに混じってナガミヒナゲシのオレンジがぽつぽつと映えました。ただ、こんな可愛い花ですがナガミヒナゲシは強い繁殖力と、アレロパシーによる他の植物の成長阻害があるらしく、固有の植物を淘汰してしまうため要注意な植物です・・・。

f:id:azospiran:20170506102022j:plain

あと、今回は新しいマクロレンズ(Olympus M.Zuiko Digital ED 60mm F2.8 Macro)を持って来ていたのでそれでも撮ってみました。非常に写りが良くて満足です。そしてマクロの用途に加えてポートレートみないな使い方も結構出来ることを発見し、使い道が広がりました。以下マクロレンズに切り替えた後の写真。ただ、ホワイトバランスの関係か上と色が違いますね・・・。心に残っているイメージは上の色ですが、実際の色は下の写真に近かったと思います。

f:id:azospiran:20170506102225j:plain

f:id:azospiran:20170506102238j:plain

ネモフィラの宣伝効果がすさまじく陰にかくれてますが、ここのチューリップも見頃でした。なんといっても品種がとても多い。見たことない形のチューリップばかりでした。これもマクロレンズです。

 

f:id:azospiran:20170506102557j:plain

f:id:azospiran:20170506102531j:plain

f:id:azospiran:20170506102544j:plain

 

f:id:azospiran:20170506102611j:plain

帰りはちょっと那珂湊駅のさかな市場によって買い物してきました(クーラバック持参)。良い気分転換になりました。

化合物の三次元分子構造を取得→3Dプリンタで出力

一応化学系をやってる身としては、化合物の立体構造には興味があります。パソコンの画面だけでクルクルやってるだけじゃ物足りません。

ただ、合成屋さんや有機屋さんでないと、ChemDrawなどの専用ソフトウェアを使いこなすことはないのでは?僕だけ?恐らくこれらのソフトウェアを使用すると、分子式を打ち込めば軌道計算を元にした立体配座とか自動で出してくれて、更にはクルクルあちこちの結合を回転させて・・・ってことが出来るはずです。そしてこのご時世なので3Dプリンタ用のデータ出力も出来るはずです。

 

このようなソフトを初学者や素人が使用するのは難しいし高ぇです。てことで、素人でも比較的簡単に化合物の立体構造を3D出力することができないか、調べて実践してみました。

日本ではこのトピックは需要がないようであまり見当たりませんでした。ということでアメリカ様のサイトを参考にしました。今回は基本的にこのサイトの日本語訳みたいになっています。。。

www.instructables.com

まず、PubChemにアクセスして、化合物を検索します。PubChemはアメリカのNIH(日本の厚生労働省みたいなもの)が運営する化学物質のデータベースです。現在の技術で合成できる、名前が付いているような化合物は殆ど登録されていると思います。

Home - PubChem Compound - NCBI

今回はいつも実験でお世話になっている"Ampicillin"を検索してみました。Ampicillinは大腸菌培養とかでスクリーニングに使用する抗生物質です。検索用語は何でも引っかかると思います。分子式とか略称とか。

f:id:azospiran:20170221165710p:plainf:id:azospiran:20170221165719p:plain

検索結果でAmpicillinをクリックすると上のような画面が出てきます。この情報の中でPubChem CIDをメモ(コピペ)します。

 

次に以下のサイトにアクセスします。

NIH 3D Print Exchange | A collection of biomedical 3D printable files and 3D printing resources supported by the National Institutes of Health (NIH)

どうもこのプロジェクトもNIHが運営しており、PubChemに登録されている化合物や、タンパク質構造の3D出力ファイルが取得できるようです!凄い!凄すぎるNIH!

下図のような画面が出てくるので"CREATE"タブを押します。

f:id:azospiran:20170221170948p:plain

Quick submit機能を使用して3Dモデルを検索します。ここでちょっと手こずったのですが、ユーザ登録しないとこのサービスを使用出来ないようです。下図の"log in"を押して、適宜ユーザ登録、ログインして下さい。ユーザ登録部分は省略しますが、所属とか書く必要も無いし誰でも作れます。

f:id:azospiran:20170221172541p:plain

無事ユーザ登録、ログインに成功すると、右側が下図のように切り替わりPubChem CIDを入力出来るようになります。そこで先ほど検索したAmpicillinのCID"6249"を入力してSubmitします。ここで、既にモデルが構築済みの場合は下右図のようなダイアログが表示されるので、素直に従います。。。

f:id:azospiran:20170221165754p:plainf:id:azospiran:20170221165804p:plain

下図のような画面になるので、"DOWNLOAD"からSTLファイルが取得できます!幾つか表現のカタチがあります。

f:id:azospiran:20170221165813p:plain

以上でSTLファイルの取得は終わりです。後は適宜スライサーで拡大縮小回転させて出力します。私は一回Fusion360にインポートして大きさを整えてから再びSTLファイルを書き出しました。

現在出力中・・・。

f:id:azospiran:20170221234701j:plain

これで、誰でも化合物オブジェが手軽に?作れますね!ただし、後ほど色塗りして原子が区別できるようにしないと教育向けにはならないかもしれません。結合部分を回したりできないのも課題ですね。出力結果などはまた報告します。

タンパク質構造も出せるのは凄い。時間があったらやってみよう。

おわり。

3Dプリンタを持つことで気づく潜在的な意匠権の侵害の危うさ

これは単なるつまらない独り言です。

まだ3Dプリンタを使い始めて1ヶ月ぐらいしか経ってませんが、面白いことに日常生活の中での物のカタチに対する意識が急激に高まったのを感じています。これ面白い形だなーとかどうやって設計しているのかなぁとか、あ、自分でも作れそう・・・とか。

同時に物の形が持つ価値とは、何処までがセーフでどこからがアウトなのか、著作権のある文章や画像など以上に曖昧で難しいのではないかと感じ始めました。

今、自分が作ったSTLファイルを共有できるように準備していますが、現時点で危ういかなと思う物はHelinoxの脚カバーです。

 

azospiran.hatenablog.jp

 純正品とは寸法、素材も違うし、形も私が作ったのは接地面が平ら、さらに入り口はガバガバでちゃんと固定されないというクオリティが到底追いついていない代物ですが、見た目は丸っこくて似ています。果たして、見た目だけが少しでも似ていたら、コピー品なのでしょうか?じゃぁ、形を四角にしたらセーフなのでしょうか?じゃぁ、脚にまるこっこい形状の物が付いている商品は、お互いの価値を全て侵害しているのでしょうか。素人には分かりませんが、このデータの非公開にしました。

 

以下のようなPDFを拾いました。

3D プリンタに関わる法的諸問題

http://www.jpaa.or.jp/activity/publication/patent/patent-library/patent-lib/201510/jpaapatent201510_052-056.pdf

弁護士の先生のご意見ですが、どうも曖昧です。形は似ていても本来の機能をしなければ意匠権の侵害には当たらないとの見解のようですが、形は似ていなくても同じ機能が出来るような時などはどうなのでしょう??

 

3Dデータにしてしまうと、特別な技術が必要な加工以外は簡単に作れてしまう時代だなと改めて感じます。そして、そのデータを自由に公開するサービスは既にあちこちで提供されています。

個人での類似品の作成・利用は販売でもしない限り責められることはないでしょう。しかし、シェアサービスへのアップロードで万人が使用出来るようになるというのは、気づかぬうちに法律などに抵触するなかなか危うい問題をはらんでいると思いました。更に最近は軽々と国を超えるので、より自体を複雑化している気がします。

といっても、私は論文でもデータでも、あらゆる物のオープン化には賛成派です。特に3Dデータのシェアサイト見てると面白いですね。

フィラメントのスムーズな供給に向けて [3Dプリンタ,trinus]

こんにちは。

幾つかtrinusで出力してきたのですが、フィラメントは適当な棒に引っかけて使用していました。ただ、引っかけただけではフィラメントの自重により回転の抵抗が大きく、エクストレーダーが結構な力で引っ張らないとフィラメントが供給されません。将来的に故障の原因となる可能性があるため、スプール台を作成することにしました。

基本的にスプールを縦向きで使用する方が多いようですが、この際にはフィラメント(最大1kg強)の自重に耐えられるだけの軸とスタンドが必要なため図体が大きくなる可能性があります。また、スムーズな供給を可能とするためには、軸とスプールの中心径が上手くかみ合い、軸ごと回転するのが理想と考えられます。ただサードパーティ製が多いフィラメントですから中心径もメーカーによってまちまちで、これらにフィットする軸を作成するのは辛そうだと考えました。

勝手に修理・気ままに工作 - フィラメントリールスタンド(filament spool roller)の製作

この方はこれらの課題を軸に依存しない方法で解決しています。部品自体もかっこいいので、まぁこの方のSTLファイルを頂けば万事解決なのですが、折角ですから練習も兼ねて自分で作ってみました。

イデアは"回る卓上テーブル"です。ちょっとスペースを取りますが、スプールを横向きに置くことで、軸が1点で済み、多少ヤワな作りでも垂直に自重がかかるので折れたり反ったりする可能性はなくなります。そして上の人のアイデアを拝借して、ベアリングを使うことにしました。

Amazon | ミニチュアベアリング 【NSK】 スチール 両シール付 608ZZ 内径8mm×外径22mm×幅7mm | キャスター

NSK製。ベアリングだけ立派です。一個200円くらいです。近所のホームセンターには売ってませんでした。クルクルというよりヌルヌルと回ります。ただ、ちょっと小さめです。外φ=22 mm, 内φ=8mm, H=7 mmです。

以前、プリンタのプリント精度に関してちょっと書いたのですが、今回は産物が大き目なので失敗したときのショックも大きい、部品との組み合わせもあるので、一先ずテストプリントで実際にどれほどのクリアランスを設けたら良いのか、検証してみました。

f:id:azospiran:20170216222237p:plainf:id:azospiran:20170216225218j:plain

上がテストプリントの結果です。出力条件はPLA, 70mm/s, 0.2 mmです。内側に関しては、ベアリング中心のφ8 mmの穴に、モデル上でφ7.8 mm, φ7.7 mmの軸がはまりました。ただ、7.8 mmは結構キツキツで一度填めたら抜けなくなる感じでしたので、7.7 mmを採用することにしました。

次に外側ですが、22 mmのベアリングを填めるために22.2 mmの設計で出力したところピッタリはまりました。キツさも適当で、空回りせずしっかり填まるけど、抜こうと思えば抜けるといった感じでしたので、この径を採用することにしました。

テーブル上側にはコーンのように傾斜をつけた筒を置くことにしました。これによって様々な径のスプールをズレることなく置くことが出来るはずです。

f:id:azospiran:20170216224006j:plainf:id:azospiran:20170216224042j:plain

出力結果です。PLA, 70mm/s, 0.2 mm, 充填率25%で出力しました。ベアリングの外側が填まらなくて焦りましたが、ヤスリでPLA側の縁を少し削ることで解決できました。内側は大丈夫でした。

問題だったのは上のコーン部分でした。テーブル側に幅5 mmの凹を作って、そこに4.8 mm幅の凸をつけたコーンを填める予定でしたが、上手くフィットしませんでした。ヤスリで表面をなめらかにして、なんとかはめた後、ボンドで接着しました。

f:id:azospiran:20170216225210j:plain

本来の目的としての使用ですが、土台側の軸が細くて少し不格好ですが性能は大満足です。弱い力でフィラメントを引っ張ってもクルクル回ります。

 

今回分かった点

○ 円形の場合は目標物とのクリアランスを0.2 mm程度つけた方が良い(四角の場合はまた違うかも)。

○ 出力したもの同士を組み合わせる際には更なる検討が必要

 

リアランスの件ですが印刷のスピードなどの設定によって変化する可能性があります。特に出力物同士を組み合わせる際には、お互いの表面の凸凹が結構効いて、結局はまらないという結果を引き起こしたようでした。検証とチューニングが必要になりそうです。

 

Helinox(ヘリノックス)の足置きを3Dプリンタで作ってみた

ヘリノックスの椅子は最近アウトドアをちょっとかじったことある人なら知らない人は居ないのではないでしょうか。

 

軽量と座り心地を併せ持ち、コピー品はあるのですが結局唯一無二な存在になっています。ただ、その値段からなかなか手が出しづらく、決心するまで時間がかかる商品でもあります。

そのヘリノックスのチェアワンをついにゲットしました。

その日のうちに組み立ててみたら、噂通りとても座り心地が良いのに驚きました。ソファなど部屋に置いていないことから、家でも普段から使おうということになりました。ソファを買うと思ったら安いよね。うん。

ただ、問題が。

此奴の足先には凄く堅いゴム?プラスチック?がはまってます。実はこれ、堅すぎて少し使っただけでフローリングをぼこぼこにしてしまうことが分かりました。応急処置で靴下をはかせて厚い足ふきマットを敷くことでなんとか凌いでいましたが、かっこわるいし、折角の機動性が台無しです。

f:id:azospiran:20170215230241j:plain

実は純正の脚カバーも売っています。ただ3500円もするので、本体を買ったばかりの自分にはツライ出費です。そこで、3Dプリンタで足置きを作る事にしました。要は一点に集中する重さを平面に分散させればいいのです。

作る上で一つ課題がありました。ヘリノックスの脚は角度がついています。よって脚からモデリングしてみました。角度は三平方の定理で出そうと思えば出せるのですが、めんどくさかったので、適当に頂点からの縦・横・高さの距離を測り、CAD上で線を引いてそれに沿うように傾けてみました。精度を求めるものではないので意外と簡単ですね。。。

f:id:azospiran:20170215225913p:plain  f:id:azospiran:20170215225931j:plain

前からの図              横からの図

次にこのモデルを元に、以下のようなモノを仮に作ってみました。(この後改良したため、この時点のCADデータがないです)出力条件はPLA, 150 mm/s,0.2mmです。

f:id:azospiran:20170215231731j:plainf:id:azospiran:20170215231725j:plain←上部が折れた・・・。

脚を置いたあと、簡単にズレて外れないようにパイプに引っかけるようになっています。パイプ径がφ=14 mmだったので12 mmのパイプを通す部分を上部に作ったのですが、ちょっと狭すぎてパイプを入れようとしたら折れました・・・。ただ、このテストプリントでモデルがちゃんと実物と合うことが分かりました。

ちょっと大柄だったので、大きさ、パイプ挿入口の幅・位置を改良して出力してみました。出力条件はPLA, 100 mm/s,0.2mmです。

f:id:azospiran:20170215232635j:plainf:id:azospiran:20170215231734j:plain

 

良い感じ。と自己満足していましたが、一晩寝て改めて見ると、大切なことに気づきました。「可愛くない・・・。」

なかなかこだわったモデルでしたが、原点に戻ることにしました。ただの足置きだし。やっぱりもっとシンプルでいいのでは。ということで、球を基本とした形がsimple is the bestだという結論になりました。

f:id:azospiran:20170215233314j:plain

脚本体と球の内側のクリアランスは2 mmとりました。球の下は平面になってます。片方だけモデリングして、ミラー機能で反対側の脚用を作りました。

f:id:azospiran:20170215234739j:plain

結果としては2 mmの隙間は少しゆるゆるでした。ただ、収まりもいいし、外見も悪くないのでこれで4つ出力して終わることにしました。流石にこの形で固定することはできなかったので、この後全体を布で包んで固定しました。

くだらないですけどxyz以外の軸とか平面の使い方を習得できて個人的には有意義な課題でした。

おわり。