e-tipsmemo

ごった煮

2019-01-01から1年間の記事一覧

Rust serialport ③

e-tipsmemo.hatenablog.com 以前このようなプログラムを書いて、 ワットチェッカーからシリアルポート(over Bluetooth)経由で電力のログを取っていたが、 まともにエラーハンドリングしていなかったので、 不具合が起きており、その修正を行った。問題の処理…

ThingsBoardを利用する 3.

Thingsboardに送る適当なプログラムは書いたので Thingsboardのグラフ画面を作成する。とは言ってもここの動画で行っていることをアレンジするだけ Getting Started | ThingsBoard 複数のセンサーが増えてきたときのために 動画内では、 defaultダッシュボー…

ThingsBoardを利用する 2.

今回は、Rustのプログラムを書いて、 実際のデータを使って、何秒か一回にデータが送られるようにする。 reqwest e-tipsmemo.hatenablog.com 前回はreqwestを使って単発で送ったので 今回は昔の電力測定プログラムを合わせるだけ。 fn main() { println!("He…

ThingsBoardを利用する 1.

e-tipsmemo.hatenablog.com 前回設定したThingsboardを 以前構築した録画サーバーの電力測定とつなげることを考える。Thingsboardにデータを送るためのAPIドキュメント ThingsBoard API reference | ThingsBoard今回はデータを受ける側を準備して、データを…

Raspberry piにThingsBoardのインストールと試用

家においてあるパソコンが集まっている部屋の温度とか湿度とか電力とか監視するために Raspberry piとその他もろもろを設置したのはいいが、 それらを統合して視覚化できたほうが便利そこでIoT Platformと銘打っているThingsBoardをRaspberry pi上に入れて自…

Rustのparserを試す

ちょっと必要になったきがするのでparserをかくためのものを探したり サンプルを書いてみたりした。 個人的なメモ What is the difference between parser generators and parser combinators? - Quora compiler construction - What is the difference betw…

diagram-js customize 6. CustomizeRenderer

今回はBase Renderを継承した自作クラスに切り替えるbpmn-jsを参考にすると、lib/drawに主な3つのファイルがあるので それを作る。(今回はまだMyRenderUtilは使わない) 四角をつなげる線を引いたりするのに lib/util/RenderUtilが必要で、 diagram-jsからそ…

diagram-js customize 5. ContextPadProvider

e-tipsmemo.hatenablog.comつぎはContextPadProvider といっても今回もソースコードを分離する程度 ExampleContextPadProvider.jsの実装を/lib/features/context-pad/に移す。 ほぼコピペContextPadProvider.js import { assign, forEach, isArray } from 'm…

diagram-js customize 4. PaletteProvider

次にPaletteProvider bpmn-jsを習って、 app/lib/features/palette を以下のように構成。 index.jsはappからimportするときの読み込まれる? jsでファイルを分割するときの手法っぽい import PaletteModule from 'diagram-js/lib/features/palette'; import …

diagram-js customize 3. CONNECTION/SHAPE_STYLE

e-tipsmemo.hatenablog.com まず、前回スタイルがピンク色だったが、ここの色を変えるには1.BaseRenderのスタイルを上書き 2.app/lib/draw/Renderに新しくdiagram-js/BaseRenderを継承したRender Classをつくっていろいろとやる。とあるが、2は今は面倒なの…

diagram-js customize 2. Viewer

e-tipsmemo.hatenablog.com Viewer.js import Diagram from 'diagram-js'; import { assign, find, isFunction, isNumber, omit } from 'min-dash'; import { domify, query as domQuery, remove as domRemove } from 'min-dom'; var DEFAULT_OPTIONS = { wi…

diagram-js customize 1. container

e-tipsmemo.hatenablog.com 前回はリファレンスとなるbpmn-js-exampleを実行できるようになったので 今度はdiagram-jsのexampleに機能を追加する。 e-tipsmemo.hatenablog.com public 以下のindex.htmlを必要に応じてbpmn-jsに寄せた。 <html> <head> <link rel="stylesheet" href="css/diagram-js.css"> <link rel="stylesheet" href="css/app.css" /> <style> .palette-icon-l</link></link></head></html>…

diagram-js example とbpmn-js の再構築②

前回はdiagram-jsのexampleを実行したので、 次はbpmn-jsの差分を追加して起動できるかを確かめる。 動作とコードの確認をするためなので不要なファイルが残っていてもあまり気にしない。github.com bpmn-jsをcloneする。lib以下をdiagram-jsのapp以下にコピ…

diagram-js customize 0. font準備

e-tipsmemo.hatenablog.com diagram-jsからbpmn-jsの再構築した後に、 さて自分のアプリを書く番になると、 PaletteProviderにフォントが必要になるのでその作り方をメモする。 使用するもの Inkscape Fontello - icon fonts generator 参考 bpmn-font/HOWTO…

diagram-js example とbpmn-js の再構築①

diagram-jsを使うと決めたはいいが、ドキュメントはそこまで親切ではない感じなので わかったことをメモって行く。e-tipsmemo.hatenablog.com 最初はdiagram-jsのサンプルはgithubにある シンプルなdiagram-jsからどう言った点を実装すればbpmn-js(のような…

diagram-js 検討

とあるものが必要なきがしてので、どのように作るのがいいか検討していた。 GUIが欲しかったので 表が得意そうなライブラリが豊富なjavascriptで書くことにして、 javascriptで書くのがつらそうなコアのバックグラウンド処理は webassemblyとか使おうかなと…

nodejs Webpack-dev-server js html ウェブブラウザ更新

webpack dev serverの設定メモ エディタでjsをいじるとブラウザで自動リロードされる htmlをいじると自動リロード bundleも更新される(webpack-dev-serverはbundleしたものをメモリ上に置くので実態のファイル自体は更新されない? その他 ファイル構成 app/…

mbed ethernet UDPSocket

すこし確かめたいことがあったので mbed(LPC1768)でEthernetを用いてUDP通信を行った。 接続 akizukidenshi.com プログラム mbed osのバージョンによっていろいろと違うらしいので 最新のサンプルをImportする os.mbed.comしかしすでに、exampleにあるような…

VScode STM32 WSL J-Link arm-none-eabi-gdb

VScode上で、JLinkGDBServerを起動して、 WSLのarm-none-eabi-gdbでデバッグできるようにする。 WSL make arm-none-eabi-gcc arm-none-eabi-gdb は入れておく。 VScode をインストールする。 ポータブル版でもよい。 VScodeの拡張機能 上から IntelliSencse …

Nucleo J-Link化

STM32の開発でJ-Linkというデバッガーがよさそうらしいので 手元のNucleoで試してみる。 準備 今回試すのはNucleo-F401、 ST-Linkの基板が隣にくっついているので このST-Link部分をJ-Linkにして、 STM32F401REに書き込み、デバッグしてみる。メインループ S…

STM32Cube MXプロジェクト生成

自分の使いたいMCUを検索して右上のStart Projectする。 Pin Configuration を適当に FPGAならQuartus 13とかProject Navigatorとか かなり昔からこんな画面のPINコンフィギュレーションソフトウェアがあったのに 代表的なMCUにはなぜないんだろうと思ってい…

STM32Cube MXを導入

MXCubeはStdLibの代替になれるぐらいには洗練されたと聞いたので ようやくSTM32Cubeを利用するためにインストールする。インストーラーをダウンロードする。 www.st.com 登録しなければならないらしい。 メールに送られてくるリンクからダウンロードする。MC…

KiCAD BGA基板設計④ 到着編

PCBGOGOの注文画面によると 注文してから2-3日で基板の製造が終わったようだった。 素晴らしい速さ。Digikey基準で考えて、 Digikeyの在庫表示では「即時」の物しか部品は入れなかったが 基板が完成してから部品を注文しているのか何かがリードタイムに引っ…

KiCAD STEPファイル Fusion360

e-tipsmemo.hatenablog.comKiCAD 5の目玉機能でSTEPファイルのExportに対応したことがあるが 前回は失敗したので試してみる。Footprintにモデルがないと、エラーが出る。 最終的には各部品の3DモデルがSTEPのものだけが出力される Exportしたものだが、CやR…

KiCAD BGA基板設計③ 発注編

作ったBGAの基板を発注するが、 BGAはどう考えてもリフローしないと実装できないので、初めて実装サービスを利用してみる。 PCBGOGOの実装サービス 「Digikeyの部品かもしれない」? 「Mouserの部品かもしれない」? 「違うところ」かもしれないらしい。 問い…

KiCAD BGA基板設計②レイアウト編

e-tipsmemo.hatenablog.comデザインルールを設定するCapabilities | PCB Online | Low volume pcb assembly | PCBGOGO PCBGOGOの製造能力より こういうことだろうか。BGA100ぐらいをレイアウトするときも本当は4層あった方がいいけど値段が高そう。 (256ピン…

KiCAD BGA基板設計①回路編

試してみる。 ダメかもしれないけど。www.digikey.jp これを使うPCBGOGOに注文するつもりだが、 2019年1月時点のデザインルールでは、 0.8mm pitchのBGA基板ならギリギリ製造できる気がする。Capabilities | PCB Online | Low volume pcb assembly | PCBGOGO…

Ryzen 電力測定⑥

e-tipsmemo.hatenablog.come-tipsmemo.hatenablog.comグラフ表示できるようになったので、 Rustで書いたWebsocketのサーバーから送られてくるjsonでグラフを更新する。 jsonは以下のような形 { "time":2019/01/14 02:50:07, "voltage":102.396, "current":10…

Ryzen サーバー 電力測定⑤/Chart.js

前回はjsonで電力測定値をクライアントに送れるようになった。 e-tipsmemo.hatenablog.com これをきれいにグラフ化したい。 そこでChart.jsを使う。 Chart.jsによる折線グラフ作成<Chart.js<Javascript<木暮仁とりあえず必要 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script> 表示部分は <body> <input type="text" name="message" value=""> </body>

KiCAD 5 パッド 一括 変更

KiCAD 4から5へ移行するためにいろいろいじっていたら ちょっとした機能を見つけた。QFPやBGAでパッドがたくさんあるときとりあえず パッドを大量に置くが、それらのサイズを一気に変更するのは 大変だった。 とくにある選択したパッドだけを変更したいとき…