気ままにIoTメモ

Iotに関わること関わらないこと備忘録

ワークライフバランスと生活残業

仕事と生活の調和ということでワークライフバランスが言われており,残業を減らそうという流れがあるようなので残業について考えてみました. 残業が少なければそれで良いのか?という話です. 給料で生計を立てているサラリーマンを考えており,固定時間制…

人口ピラミッドの推移(3)

前回は人口ピラミッドの推移に各世代の名前を追加しました。 今回は時代の変化が少し分かるような情報を加えています。 www.youtube.com ざっくりとバブル景気から崩壊して不景気になり第三次ベビーブームは起こらずに子供の人口が低迷して現在までが40年間…

にいがた暮らしIoTアイデアコンテストを終えて

2/9にコンテストが開催され、なんとか完成させたデバイスを持って発表してきました。 結果は残念ながら参加賞で終わってしまいましたが他の学生のアイデアや物が見れて良かったです。 来年も何かやる ということを伺ったので都合が合えば挑戦してみようと思…

圧力センサ(2)

引き続きFSRのメモ。 重り(75g)×2+台(68g)=218g 重りには釣りに使われるオモリを使っています。 重りを置いてからの抵抗値の変化を測定しました。 測定は250Hzで分圧値をArduinoのAD変換(10bit)により測定し、測定値から抵抗値を算出しました。 回路は圧力セ…

圧力センサ(1)

秋月で購入した圧力センサ(FSR:force-sensitive resistor)を使ったのでメモ。 抵抗値[Ω]∝1/力[F]という性質のあるセンサです。 日本語ではあまり資料は無いですが、英語で調べれば詳しい資料が多く出てきます。 センサ回路の製作 - 気ままにIoTメモ 以前の…

I2C制御16bit ADC MCP3425(3)

前回に引き続き、ゲイン設定を自由にしてくれるプログラムを書いたのでメモ。 var Adc = require('./adc'); adc = new Adc({gain:1, accuracy:16}); adc.start(); var Vmax = [ 2.048, 1.024, 0.512, 0.256 ] var gain = 8; adc.on('complete', function(v){…

I2C制御16bit ADC MCP3425(2)

I2C制御16bit ADCであるMCP3425用のライブラリを作ったので、使い方のメモ。 まずはモジュールのインストール npm install i2c npm install q var Adc = require('./adc'); // adc = new Adc({gain:1, accuracy:16}); adc.updateConfig({gain:8}); adc.start…

I2C制御16bit ADC MCP3425(1)

秋月に1個250円で売っているI2C制御16bit ADCのMCP3425に関するメモ。 特徴 2.7V〜5.5V動作 精度により測定周波数が変わる(16bit精度では15 SPS) 内部に2.048V±0.05%(Vref)の基準電圧 ×1・×4・×8のPGA Vin = (Vin+) - (Vin-)の 差動入力が測定可能 測定…

共用体を使わないワード設定(C/C++)

MCP3425のArduino用ライブラリに使われている1ワードのデータを設定する方法が簡単だったのでメモ。 void getResult(int16_t *dataPtr) { ((char*)dataPtr)[1] = read(); ((char*)dataPtr)[0] = read(); } データの読み込みは1バイトずつで、測定データは2バ…

I2C接続小型キャラクタLCDモジュール(2)

I2Cで制御するLCD用のライブラリを作ったので、使い方のメモ。 回路図はI2C接続小型キャラクタLCDモジュール(1)を参考にしてください。 まずは使っているモジュールのインストール。 npm install i2c npm install q サンプルコード var Lcd = requi…

I2C接続小型キャラクタLCDモジュール(1)

秋月に550円でi2C接続のLCDがあったのでラズパイのnodeで動かすまでのメモ。 AQM1602XA-RN-GBW ST7032で制御されており、I2Cで制御できるようになっています。 LCD側の電流の引き込み能力が低いため、ラズパイとLCDモジュールの間にI2Cバスリピーターが必要…

マイコン内蔵RGB PL9823

秋月より マイコンで1個ずつ制御することができるマイコン(シフトレジスタ)内蔵の画期的なフルカラーRGBのLEDです。 接続が簡単だったので秋月にて購入。 とりあえず光らせられたのでメモ。 買ってから気づいたのですが、少し変わった“味のある仕様…

Promiseを使うためにNodeの手動インストール

Node.jsのコードをラズパイ上で走らせたらPromise is not definedと出て、バージョン確認したらv0.10.29だったため更新することに。 Node.js ES2015/ES6 support sudo apt-get install nodejsでインストールすると古かったり、コマンドがnodejsになったりと…

An angular.js wrapper for Chart.js

Epochも良かったのですがAngularJSと相性の良さそうなライブラリがあったので試し。 The 38 best tools for data visualization 試してみるのはリンク先でperfect data visualization tool for hobbies and small projects と評されている Chart.js。 大体サ…

リアルタイム用グラフライブラリ Epoch

A general purpose real-time charting library for building beautiful, smooth, and high performance visualizations. 公式いわく、美しく、滑らかで高いパフォーマンスの可視化のための汎用リアルタイムグラフライブラリ「Epoch」 ブラウザの更新をしな…

C++用CSVライブラリ

研究では主にシミュレーション結果をdouble型のcsvファイルで保存します。 Pythonだとpandasがあるのでcsvを読み込むのが簡単なのですが、c++で欲しい感じのcsvライブラリが無かったので作りました。 次のようなファイルを ,x,y 0,1.1,1.00E+00 1,1.2,2.00E+…

シリアル通信から標準出力へ

Arduinoやmbedなどでセンシングした値をシリアル通信で確認するのは簡単なのですが、保存に少しつまづいたのでメモ。 シリアル通信で送られてきた値を確認する方法はArduino IDEのSerial Monitorやscreenコマンドを使う方法など色々あります。 Mac の screen…

Learn to Build Modern Web Apps with MEANを終えて

以前、MEANスタックの勉強を投稿してからLearn to Build Modern Web Apps with MEANで学習をはじめましたが、2週間ぐらいかけてようやく一通り終わりました。 一通り参考になったサイトを列挙。 ▶チームラボオンラインスキルアップ課題 チープラボの3ヶ月集…

第三回匠の駅シンポジウムに参加

先日「第三回匠の駅シンポジウム」に発表者として参加させていただきました。 かなりローカルな発表会でしたが、製作中の物についてお話させていただきました。 「作ろうとしているものはどんな物か」をしっかり伝えたのは始めてだったので、良いフィードバ…

ARで3Dアトラクタ

3次元の図形を確認する時には「回転・移動・拡大」という操作をします。 マウスやキーボードで操作するには少し“慣れ”が必要なのですが、 3Dプリンタで印刷する以外にもARを使った方法があると思うので作ってみました。 今回はローレンツアトラクタを視覚化…

MEANスタックの勉強

Webアプリ作りたいな、ということでMEANスタックを勉強中です。 MEANスタックとは MongoDB / Express / AngularJS / NodeJS の頭文字であり、フロントエンド〜サーバーサイドまでJavascriptで済ませてしまう構成のことです。現在使われているLAMPに置き換わ…

Socket.IOでデバイス⇔サーバー⇔ブラウザ通信

Socket.IOで以下のような1対1のリアルタイム通信をしてみました。 (※今回はラズパイではなくMac上のターミナルでテストしています) 重要なコードだけ記載しておきます。 デバイス側はSocket.IOでサーバ・クライアント間通信とほぼ同じ。 jsonデータを送…

数学のはなし

研究室では非線形系・複雑系を取り扱っているので、数学と比較的近い所で関わっている事は多いです。 数学が身の回りに生かされている例は”探せば”あると思いますが、 日本で最先端の研究をされている合原先生の動画がYoutubeにあがっているので紹介。 www.y…

10年後どうなっていたい?という質問

就活を悩み始めたきっかけの続き。 これはサポーターズで1対1の面談をした時によく聞かれた質問です。 別にベンチャー企業だから学生の積極性を知りたくて質問している訳でもなく、面接ではありふれた質問のようです。 面接でよく聞かれる「10年後(20年後)…

年功序列から成果主義に変わっている認識と年収が上がっていく認識

就活を悩み始めたきっかけの続き。 大卒の初任給は20万ぐらいという知識は先輩から聞いていたので知っていました。 複数の企業の初任給を比べても、初任給の推移を見ても20万ぐらいという数字は正しいようです。 大卒初任給|年次統計 一方で、生涯に必要な…

センサ回路の製作

コンテストで作ろうとしている物は、流行りっぽい言い方をすると 『IT×圧力センサ』 です。 「物が置かれた/取られたという情報を上手く使えたら便利そう」という発想から来ています。 調べてみると大体同じことをしている方はいらっしゃるようです。 クラゲ…

「理系バカと文系バカ」読んでみた

www.php.co.jp 身の回りには「理系と呼ばれる人」が多いので、「文系ってなに?何してるの?」と思い立って読んでみました。 「理系バカ」と「文系バカ」を取り上げて、これからは両方の利点を兼ね備えた「文理融合」が当たり前になる。というのが一番の主張…

大企業は比較的安定であるという雰囲気

就活を悩み始めたきっかけの続き。 先に断っておきますが、大企業は安定であるという主張は間違ってはいないと思います。 そもそも製造業における大企業の定義は 資本金の額又は出資の総額が3億円を越え、かつ (and) 常時使用する従業員の数が300人を越える…

Gingko App

考え事をする時に細分化して整理することはあると思うのですが、そんな時に ツリー構造で文章を管理したい! Markdownで記述したい! キー操作だけで操作したい! マウス操作(ドラッグ&ドロップ)で操作したい! リアルタイムでドキュメントを同時に編集し…

就活を悩み始めたきっかけ

現在、大学の修士一年なので2019年3月から一斉に就活スタートとなる予定です。 僕の大学は幸いにも工学系で、ある程度企業からも良い印象が持たれているようなので、就職先や就職率といったデータはかなり良い方だと思います。 そのせいか分からないですが、…

キーボードスタンドの自作

立ちながらパソコン触ると手首が疲れてしまうのでアクリルでスタンドの自作をしました。 アクリルをレーザー加工機でカットしてアクリサンデーで接着、ダイソーのすべり止め貼り付けて完成。 実際にキーボードを載せるとこんな感じ。 角度を60°に作ったら急…

大学で研究してみて

今修士一年で仮にも研究をさせてもらってるのですが、こちらのブログを見て確かに、、と共感できてしまう所が多いので紹介。 准教授の方なので大学ネタが多いです。 next49.hatenadiary.jp 研究しているテーマが試行錯誤が必要で最近辛さを感じてきたのです…

Socket.IOでサーバ・クライアント間通信

ようやくNode.jsらしいネタ。 サーバーがリアルタイムに、複数のブラウザやデバイスと通信をする時に便利な Socket.IO というライブラリがあります。 よくあるサンプルはサーバーとクライアント(ブラウザ)通信というのがあるのですが、 クライアント用ライ…

Node.jsからMongoDBに接続

hello, worldが出来たので次はNode.jsからMongoDBにアクセスしてみました。 settings.js exports.host = 'localhost'; exports.port = '3000'; exports.db = 'db_name'; app.js var express = require('express'), app = express(); var settings = require(…

hello,world!

今回のコンテストではNode.jsで固めてみようと思い、hello worldしてみました。 JavaScriptのNode.js用MVCフレームワークである Express を使っています。 var express = require('express'), app = express(); app.get('/', function(req, res) { res.send(…

SEっぽい?ベンチャーっぽい?

最近、基本情報処理を勉強して 人月換算で計画を立てる方法 というのに 人の能力の見積もりとか考えるところがあるんじゃないの? 最もらしい決定方法 だけど、実際の進捗はもっと複雑でしょ。 って思うことがあり、なんだか納得できないやり方がありました…

ラズパイでスイッチ入力(割り込み)

前回のラズパイでのスイッチ入力に続いて割り込みバージョンを試してみました。 var wpi = require('wiring-pi'); wpi.setup('wpi'); var led_pin = 7; var sw_pin = 1; wpi.pinMode(led_pin, wpi.OUTPUT); wpi.pinMode(sw_pin, wpi.INPUT); wpi.pullUpDnCon…

ラズパイでスイッチ入力

定番のLチカに続いてスイッチ入力をしてみました。 var wpi = require('wiring-pi'); wpi.setup('wpi'); var led_pin = 7; var sw_pin = 0; wpi.pinMode(led_pin, wpi.OUTPUT); wpi.pinMode(sw_pin, wpi.INPUT); wpi.pullUpDnControl(sw_pin,wpi.PUD_UP); va…

ラズパイのスペック確認

GPIO使う時にスペック知っておく必要があるので確認しました。 var wpi = require('wiring-pi'); console.log("board revision: " + wpi.piBoardRev()); var board = wpi.piBoardId(); console.log("model : " + wpi.PI_MODEL_NAMES[board['model']]); conso…

ラズパイでLチカ(Node.js)

とりあえず動作チェックということでLチカをしてみました。 Lチカならコマンド利用でも問題なく出来ますが、 将来的にPWM・I2Cなど使う事を考えて Wiring-pi というライブラリを使うことにしました。 var wpi = require('wiring-pi'); wpi.setup('wpi'); var…

vimrcの設定

最近ラズパイをいじり始めたのでラズパイ用に最小のvimrcを用意しました。 簡単な編集なら十分ラズパイ内でできるようになりました。 " 更新自動読み込み set autoread " 相対行表示 set relativenumber " シンタックスハイライト機能をオン syntax enable s…

ドットインストール

以前紹介したPaaSのIsaaxでもNode.jsが利用されていたので、 そろそろNode.jsを学んだほうが良いかなと思い勉強を始めることにしました。 ドットインストール http://dotinstall.com/ 1動画3分として基礎的な事を教えてくれる学習サイトなんですが、思ってい…

人口ピラミッドの推移(2)

以前作った人口ピラミッドの動画に 〜世代(ゆとり世代・団塊世代など)というカテゴリを追加しました。 www.youtube.com Wikipediaではゆとり世代と氷河期世代の間が空いていたのですが、調べてみるとプレッシャー世代と呼ぶ事があるようです。 作って気づ…

もののけ姫こだま

拍手が段々とリズミカルになると言うことは体験した事があると思います。演奏がスゴイから巻き起こる拍手なのですが、演奏のように指揮者がいないにも関わらずテンポが揃うというスゴイ現象でもあります(非線形屋さんは演奏より拍手に感動する)。 このよう…

人口ピラミッドの推移(1)

人口ピラミッドの推移をアニメーション化しました。 0〜20歳、21〜60歳、61歳以降で色分けしています。 www.youtube.com ※年齢の最大が85歳、90歳、100歳とされている年が混ざっています。 これで各世代がどういう時代を生きてきたのかが少しずつ見えてきそ…

IoTのPaaS

以前WantedlyでXSHELLというベンチャーの方と知り合い、 そこで開発しているPaaSが結構良さそうです。 jp.techcrunch.com ちょうど今はベータ版が公開されて2ヶ月試用できるみたいです。 今度コンテスト用に使えるか検討しようと思います。

日本の人口推移

日本の人口推移をPlotlyでグラフ化してみました。データは総務省統計局「日本の統計2016 第二章 人口・世帯」より使わせていただきました。1955年〜2095年までの将来推計人口を含めた値(推定値は2014年以降)となっています。5年刻み程度の数字しか探せなか…

Javascriptテスト

Javascriptが動かせるようなのでテスト TESTER = document.getElementById('tester'); Plotly.plot( TESTER, [{ x: [1, 2, 3, 4, 5], y: [1, 2, 4, 8, 16] }], { margin: { t: 0 } } ); <script src="https://cdn.plot.ly/plotly-1.2.0.min.js"></script> <div id="tester" style="width:600px;height:250px;"></div> <script> TESTER = …

技大祭研究フォーラム

以前、技大祭の研究フォーラムにて使ったスライドです。 そのうちニコ動にも内容を変えてアップロードしようと思っていますが、先にブログに載せておきます。 www.youtube.com 発表用に作った二重振り子なかなかいい感じ。 以下は二重振り子の先にLEDを取り…

第三回匠の駅シンポジウム

匠の駅で第三回匠の駅シンポジウムがあるようです。 第三回匠の駅シンポジウム 前回の第二回の時には レーザー加工機を導入したい! という内容で発表しましたが、今回も発表者として参加しようと思います。 今の所、 にいがたIoTコンテスト で作ろうとして…