スマートフォン用の表示で見るcrssnkyの。MQTTgithub.comなんとBP上で扱えるらしい(GitHub説明画像より)そもそもMosquittoって広く知られているソフトウェアかよくわからない(自分も最近知った)なので、まずはそこからMosquitto(MQTT)とはMosquittoはMQTTというメッセージングプロトコルを、EclipseがC++でオープンソース実装したものです。mosquitto.orgC++なので、UE4に組み込めるってわけですね。Transport)ですが、IBMが1990年代後半に開発した、信頼性の低いネットワーク上で動く低性能のデバイスで実現する軽量で柔軟なプロトコルです。www.ibm.comMQTT概要それが公開された現在は、Publish/Subscribeの単一のメッセージに対して多数のクライアントが受信できる形をとっています。そのために、Brokerと呼ばれるサーバー役を立てる必要があります。クライアントはBrokerに接続し、必要であれば接続後の任意のタイミングでSubscribeをします。この時、「Topic」を指定します。このトピックはメッセージに付けられるタグのようなもので、タグとは違い階層構造を取れることです。複数指定することもできます。接続したクライアントがメッセージをpublishしたい時は、メッセージと共に上記のTopicをBrokerに送信します。すると、そのTopicをSubscribeしている全てのクライアントはそのメッセージをBrokerから受信します。Topicで区別するだけなので、接続するデバイスの組み合わせごとにソケット通信を立てる必要がなく、雑に送受信できるのが良いですね。Brokerが必要ですが....(PublicBrokerというものが建っており、それを利用することもできる。Publicなので不特定多数の人間がつないでるけど...)UnrealMosquitto表題のやつです。Broker機能は無いですが、クライアント機能は実装されており、BPからも振る舞いを実装できます。個人的には受信時の振る舞いをBPで雑に実装できるのがアツいですね。なにかしらのデバイスからの情報をUE4でカッチョイイ感じに可視化したい時とかは使えるんじゃないでしょうか。デバイスのログは軽量な別ソフトでしょうし。そのネットワークにMQTTで簡単にjoinできるのはアツい。熱盛っ!ちょっと重要な内容ですが、余談を。実は現在の状態だと4.20でビルドできなかったりShippingできなかったりと諸々問題があるのでPullRequestを出させていただきました。これから使われる方がいましたら、そのへんにご気をつけください。Protocol(AMQP)があります。こちらはその中にも種類が分かれており、中にはサーバー役の必要ないZeroMQもあります。SPARQLim@sparql.docタイトル通りです。Talksでちょっと話題になったこともあり使命感を感じて開設しました。Startedim@sparqlとはim@sparqlの思想みたいなのを書いた、よくある意識高いページ。最初にありますが、im@sparqlのあとがきみたいなものです。触れてみるim@sparqlを使う上で欠かせない要素のSPARQLを解説する部分。データベースの大枠に触れる、未経験者には難解なクエリですが、次項以降のサンプルクエリを読み解けるように解説しました。使ってみるデータベースの中身を一切知らない状態から、千早さんのプロフィールを取得するまでの流れを3STEPで解説しています。SPARQLのクエリの組み方が分かれば幸いです。組み込んでみる完成形のWebページを例に、実際にオープンデータベースとしてWebページから活用する方法を解説しています。Http通信でJSONが取得できるので、そのへんに慣れてる人には退屈な内容です。貢献するGitHubに公開されているim@sparqlのデータベースの中身を解説しています。中身が読めればクエリも効率的に立てやすくなるでしょう。データベースに足りない情報を補うのを手伝っていただければ幸いです。Samplesクエリ集みたいなのも置いていければ...まだどういう風に置くか未定。Gist.GitHubをただただ貼れば良い?締めこれをきっかけに、im@sparqlを活用していただければと思います。それと、活用した何かを作った時、もし良かったら僕に報告してもらえると嬉しくなります。そんなことはみなさんご存知でしょうね。今年から一人暮らしなので、お部屋ではやりたい放題なのでは?!と思い、1年以上買って寝かせてたRasPi3を取り出しました。使いみちが見つから無かったのですが、ここらでいっちょRasPiならではのことに挑戦していきます。注意:技術の説明じゃないので、こんなアイデアどう?ってスタンスで見てください作りたいのはこちらこんな感じでですね、自宅に入ったら「おかえりなさい」と声をかけてもらえるシステムですね。センサーセンサーはドーム型の人感センサー、"HC-SR501"を使います。(Amazonとか秋月でご参照ください...)こんな感じで自室ドアに貼り付けます。1Kなので自室ドアで良いんです。こいつには、電源・GND・信号の3つの端子があります。単純でありがたいですね。センサーが反応してから次にアクティブになるまでの間隔と、反応強度を変更する可変抵抗も付いています。ご自分の気分で調整してください。諸々の配置の関係で、RasPi3は逆側の壁際に設置してます。そのため、5m近い長さの線が必要になりました。自作するしかねぇ!というわけで、某電気街で買ってきました。圧着ペンチはAmazonだけど。PA-20"頑張ることもなく、3色の線が完成です。これでハードウェアはOKですね。後々の機能拡張を見据え、WebからRasPiを制御したいと思い、I/Oが制御できる環境を探しました。それがこの、Pythonで動くWebフレームワーク「bottle.py」です。軽い早い単一ファイルのimport(pipしなくてもいい)(pip版もある)依存関係ないらしいです。これを使ってWebのViewerからI/Oの制御までを行います。今回で言えばこんな感じってなんの説明にもなってない画像ですね。Pythonのコード内の時間とかで制御する時の変数をWebから書き換えるってことを今回はやらせていってると思ってもらえれば。これ実際のコードです。汚いけど見られてもまずいものはないはず。テンプレートエンジンだったり、CSSなどのファイルがキッチリロードできるようにだったり、http通信のモジュールだったりをimportしています。時間による動作はapschedulerのBackgroundSchedulerを使っています。これにより、cron的な日時に合わせて動作を行うことができます。書いてはいなかったですが、起床アラームの機能も付与しており、"Alerm"系で表しています。WelcomeBacktimeConfでは、現在設定されている時間を渡しています。見た目はこんな感じRasPiは良いですね。AppleのBonjourが入っていれば、ローカルのRasPiに対してraspbery.localでIPから代替できますから。それは置いといて、こんな感じでViewerの方も作りました。自分しか使わないので、CSSも無しです。渡された現在設定の時間を表示し、代わりに新たに設定したいものを渡せるようにしています。Python側でPushされた更新したい時間を受け取り、内部変数を書き換えてスケジューラーを更新することで完成します。いうわけでできたものがこちら音量小さいですが、デモ動画です。アイドルマスター1個前の記事のやつ、誕生日のアイドルのプロフィールを画像化してくっつけたら良いのでは??と案をいただいたので、実装しました。2018画像生成に使用したのはwebshotというパッケージ。github.comなんか関数一発でまぁまぁ良いサイズで撮れたので採用しました。あと、コールバックが増えてきたので、Qも導入しました。やってることとしては、1つ目のthenでは、まずrequestを使ってSPARQLをたたきます。2つ目のthenで、取得したjsonをforEachします。本当は、Q.all()みたいなの使えばよかったんですが、一つ前のthenから受け取ったものを使ってall()を回すのが分からなくて、thenの中でforEachし、indexとlengthが等しければresolveして抜けるようにしました。forEachでは、json内にあるプロフィールのURLをスクショして鯖に保存しています。なんでファイルに残しているかというとデバッグ用です。同時にTwitterにアップロードもしています。その結果得られる画像のIDを配列に保存してそれを次のthenに渡します。次のthenでは、実際にツイート内容を作成してつぶやいています。mediaは調べたら、stringで、","区切りで良いみたいです。SPARQLGW初日です(あでぃしょなるたいむ)。いつもは朝早くに出勤しないといけないので早めに寝るのですが、GWなので深夜にコーヒー淹れてのコーディングを楽しみました。内容はほとんどim@sparqlの誕生日表示のコピペですが、なんか僕のアカウントでつぶやかせたかったのでnode.jsで書きました。名前とim@sparqlの詳細表示サービスのURLを貼る感じですね。物語に対して考察をしたものではありません。なんとなく知りたくなった単語をピックアップしています。WikipediaとかWeblioとか...皆様がこの物語を受け取る手助けになれば幸いです。NOCTURNE-GRAC&Eたぶん、英単語"Grace"。NOCTURNE-"のシナリオの前奏曲でもあるクリスティーナ女性名。エドガーヨーロッパの男性名。古英語のead(富,幸せ,豊かさ)とgar(槍)を由来とする。エレオノーラ元は、「エレオノーレ(Eleonore)」ヨーロッパで用いられるプロヴァンス起源の女性名。イタリア語圏で、エレオノーラ(Eleonora)となる。プロヴァンス語フランス,イタリア,モナコにまたぐイタリック語派アレクサンドラヨーロッパの女性名。アレクサンドロスに由来する男性名(アレクサンダー,アレクサンドルなど)の女性形。アレクサンドロスギリシャ人の人名であり、古典ギリシャ語で「男達を庇護する者」を意味する。ギリシャ神話で戦場における戦士の庇護者である女神、ヘーラーの称号の1つであった。異民族と接しているため、他の地方長官よりも広大な領域と大きな権限が与えられており、一般の地方長官である爵位伯よりも高い地位にある役職とみなされていた。鋼:8.95[g/cm^3]銀:10.50[g/cm^3]ヴァンパイアハンタースラブ人に伝わる吸血鬼と戦う宿命を持つ"クルースニク"がある白い羊膜に包まれて生まれ、赤い羊膜に包まれて生まれてくる吸血鬼クドラクとの戦いを宿命とする普段は青年だが、クドラクと戦う際は互いに馬,豚,牛,猪などに変身して戦う。この時、クルースニクが化けている動物は白いので、簡単に見分けがつく。約束の地ヘブライ語聖書に記された、ユダヤ教、キリスト教において、神がイスラエルの民に与えることを約束した土地。約束の地は、「エジプトの川」からユーフラテス川までの領域とされ、"パレスチナ"とは別概念である。試聴ではエドガーとクリス部分のみ。それは、CDでのみ語られたエレオノーラとアレクサンドラの物語が歌詞に含まれているからです。辞典Tweet広告を非表示にするコメントを書くもっと読む2018-01-17DTBのリスペクトゲームを作った、よUnityあけましておめでとうございますそりゃ新年ですから。はじめに本年はこんな感じの年賀状を、少ない友人に送りつけました。いわゆるDTB(どうぶつタワーバトル)っぽさを狙ったデザインです。右上にQRコードを置いたのですが、これが絵がかけない人なりのおまけってことです。どこに繋がってるかというと→DogTowerBattleこれまたDTBっぽいゲームが出てきました。おまけでDTBのリスペクトゲームを作りました。QRコードで公開する予定だったので、OSに依存にしないWebアプリとして作りました。同時にUnityのWebGLやってみたいなぁ、という気持ちがあったのを思い出して、UnityのWebGLで公開することを決めました。正式にはモバイルでwebGLをサポートしてないみたいですけど、まぁ3Dのゲームじゃないし大丈夫っしょ。Sceneを重ねるという構成にします。Sceneへ移動もできるようにします。TitleCanvasにそれっぽいタイトルを作成し、Pushテキストを表示する。Sceneへ移動するタッチイベントを設定する。Text「高く積み上げて点数を稼ごう!」は、非同期でDBへユーザーのハイスコアを取得していって、取得でき次第切り替える。qiita.comあと、ランダムでテキトーにDogを降らせます。Playあー、CanvasとMainCameraの表示エリアの大きさの差が大きすぎる~~フィールドはBoxで作って、回転ボタンは左右を用意。新しいパーツを出すタイミングは、最新のパーツが静止したタイミングRigidbody2D.IsSleeping()で出します。本家と同様、落ちたらゲーム終了です。Sceneに重ねます。Intentで結果をツイート)の2種。Textは、DBへ非同期でアクセスして、取得でき次第順位を表示します。おわりに以上が簡単な作った内容です。説明が少なすぎると思うので、githubのリンクを貼っておきます。github.com色々と配慮して足りてないので、あくまでもソースコードなどの参考用ということで。4日目(月曜日)南地区"リ"01a特定のRDFの変更に合わせて、それを基にクエリを実行させて別のRDFを作るCircleCIRDFまたはSPARQLの問題点・疑問に関するポエム月別アーカイブcrssnkyの。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。