組み込み技術を向上したい!!

でも組み込み以外にも手を出し始めました・・・

if文でのバグをほんの少し減らすかもしれない方法 @C言語

プログラムの基礎はわかってるつもりです。それでも一人で何万行、何十万行と書いていると思いもよらないバグに遭遇してしまいます。まぁ、ひとりじゃなくてもなるんでしょうけど。 そのバグを少しでも減らそうと日々努力しております。 もうご存知の方も居…

Web 素人が Ruby on Rails4 をいじってみた

何かWeb系に詳しくなりたい、というか作りたいもの作れるようになりたいと思ったので、Rails始めてみた。 主に、 railstutorial.jp にしたがってやっていこうと思う。 早速、問題となったのが、インストール。個別にRubyとRailsをダウンロードしてインストー…

コールバック(call back)関数の必要性 , C言語

昔の自分のコードを見ていて、こうしたらいいのになってのがあったので、メモメモ。 例えば、↓みたいなコードがあったとします。 /**************************** コールバックとは関係無い関数 ******************************/ int32_t func1(void) { int32…

オペアンプを使った定電流回路

今はネットでいろんな情報が得られる時代になりました。ありがたいことです。 いろんな人の知恵や思想を分けてもらって様々なものを比較的容易に作れる時代になりました。 ところがここで落とし穴があることに最近気づきました。 というか、自分の知識がない…

C言語 ポインタ

よくポインタの概念がわからんけん、教えてとか言われますが、たぶん難しく考えすぎなのだと思います。わからんかったら、僕のところに来てください。暇だったら相手します。 さて、ポインタですが、名前のとおり、ポイントを指しているのです。 int a; とい…

関数化してますか? (C言語)

稀に遭遇することがあるので、ちょっとコメントを・・・。 プログラムが複雑になってくると、例えば、mainの中に全部書くとわけがわからなくなります。 そこで、「関数」としていろいろ部品に分けていくのですが、仕事でプログラムをされている方でも、稀に(…

データの見える化 (人口と年齢の割合[日本])

平成25年の人口の割合 [年少人口(青)、生産年齢人口(オレンジ)、老年人口(緑)]を見える化してみた。 さらに、平成12年の人口の割合 [年少人口(青)、生産年齢人口(オレンジ)、老年人口(緑)]を見える化してみた。 最後に平成2年の人口の割合 [年少人口(青)、生…

プロキシ経由でapt-getする方法

プロキシ経由で sudo apt-get update ってやろうとしたら失敗した!! いろいろ調べてみたらそれにはそれなりの方法で対応しないとダメなのね・・・。 そもそもプロキシサーバーが何なのかあんまり知らんので、調べてみると、 「セキュリティ」とか「キャッ…

C言語のプログラムからshellを実行する

例えばシステムのシャットダウンするときは sudo shutdown -h now とかすると思うんだけど、これをC言語のプログラムから実行したい場合は↓みたいにするといい。 まずshellのファイルを作る。(ファイル名はsys_down.shとしてみる) #!/bin/shsudo shutdown -h…

LinuxでCOMMANDからPIDを取得してプロセスをキルする方法

まずは ps auxw で実行中のプロセスを表示させてみます。 目的のCOMMANDが発見できたらPIDの番号を確認します。 例えば、目的のPIDが2345だった場合は sudo kill -9 2345 でプロセスをキルできるはずです。 この辺の作業を目視で人間が行うのではなく、 shel…

shell実行時に「コマンドが見つかりません」と表示されたとき

WindowsとLinuxでは改行コードが違います。 WindowsではCR LFとなりますが、LinuxではLFのみです。 これが原因で、Windows上で作成したファイルをLinuxに転送して 動作確認する際にタイトルのような「コマンドが見つかりません」といった コメントが表示され…

dygraphを使ってブラウザ上にグラフを書く

RaspberryPiを使っていて、ブラウザ上にdygraphを使ってグラフを書いたときのメモ。 いろいろ試したけど、シンプルで使いやすかったのがこれ↓。 http://dygraphs.com/1.0.0/ javascriptのライブラリとなっていて、線グラフの機能が一通り入ってる。 http://d…

WebIOPiをRaspberryPi2に対応させる

WebIOPiをRaspberryPi2に対応させたときのメモ。 この前は wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz からソースを落としてきたけど、最新は wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz/download にな…

Raspberry Piの電源をブラウザからOFF

RaspberryPiの電源を切るのにいちいちSSHとかでログインするの がメンドクサイので、ブラウザから落とせるようにしたときのメモ。 python使って比較的簡単にできるみたい。 import os cmd = "sudo shutdown -h now"os.system(cmd) ってしようと思ったけど、g…

STM32F429I-DISCOとUARTとDMA

UARTを使ってみる。 開発環境はいつものCooCoxのやつ。 PC12をUART5 TX PD2をUART5 RX に割り当てて、動作を確認。 せっかくなのでDMA使ってみる。 以下ソースなど。 /* とりあえずRX用のバッファを作る。(ポインタの方が良さげだけど) */ typedef struct { …

STM32F429I-DISCOとMicroSD FatFs

STM32F429I-DISCOのボードと秋月のmicroSDの基板を使って、 ファイルの読み書きをするときのメモ。 開発環境はCooCoxのやつね。 世の中にはすばらしいお方がおられるようで、 ChaN(http://elm-chan.org/)さんというお方がFatFsというFatシステムを 提供して…

Raspberry Pi + WebIOPi + mjpg streamer

WebブラウザからRasPiをいじる方法をいろいろ検討してたんですが、WebIOPiがよさそうだったので、ちょっと試してみました。 WebIOPi ダウンロード まずは一式をダウンロード↓ wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz 解凍します↓ ta…

main関数の引数について

linuxをいじっていて初めて意識したので、メモしときます。 OS載せてないマイコンのプログラムとかばっかり作ってたので、 main関数の引数なんてまったく意識したことなかったなぁ・・・。 さて、以下のようなプログラムで勉強します。 環境はRaspberry Piで…

Raspberry Pi + apache + mjpg-streamer

まずはApacheのインストール sudo apt-get install apache2 次にphpのインストール sudo apt-get install php5 この状態でPiのアドレスにアクセスすると It works! This is the default web page for this server. The web server software is running but n…

Raspberry Pi + WiringPi  とりあえず、GPIOいじってみる

Raspberry Pi 用のGPIO制御ライブラリで有名な Wiring Pi を使ってみます。 Wiring PiではI2Cのライブラリを使用するみたいなので、 sudo apt-get install libi2c-dev でi2cのライブラリをインストールします。 次にgitでwiringPiをダウンロードする。 git c…

Raspberry Piとmotionとmjpg-streamer

motionよりもmjpg-streamerの ほうがスムーズに動きそう 先日motionを使ってみたんですが、なんだかモッサリしていた気がしました。 んで、Google先生に聞いてみたら、mjpg-streamerがなんだかよさげなので、試してみた。 sudo apt-get install subversion l…

Raspberry Pi B @Raspbian(debian), uvc, motion, WiFi

親切な人ってホントにいるんですね 親切な人が少し古いRaspberry Pi (以下Pi)くれました。 Type B??ってやつだけど大満足です。 いろいろと設定していきます。 OSダウンロード PiもSDにOS入れて使う感じなのでまずはOSをダウンロードします↓ Downloads | Ras…

BeagleBone Black (BBB)を使ってみた @debian, UVC + motion

準備するもの UVC対応USBカメラ(今回はこれを使用BSW13K08HRD) USBにカメラを挿してみる。 /dev/video0 で認識されているようなのできちんと動作できそう。 motionを入れる前に sudo apt-get update sudo apt-get upgrade をしておくこと。 いよいよmotionの…

STM32F429I-DISCO BitmapConverter使ってみる @emWin, CooCox IDE

STM32F429I-DISCOで使えるGUIのemWinでBitmapを表示してみたくなったので、やってみました。 開発環境は以前紹介したCooCoxのやつです。 STM32F429I-DISCOには液晶がついているので、せっかくなら写真を表示したいと思いました。 簡単に手順を書くと、表示さ…

BeagleBone Black (BBB)を使ってみた @debian, UVC + xawtv + リモートデスクトップ

準備するもの UVC対応USBカメラ(今回はBSW13K08HRDを使用) USBにカメラを挿してみる。 /dev/video0 で認識されているようなのできちんと動作できそう。 xawtvを入れる前に sudo apt-get update sudo apt-get upgrade をしておくこと。 リモートデスクトップ …

クロスコンパイル(eclipse)のためWindows7にVirtualBoxでUbuntuを入れる

Windows Virtual PCを使ってここ↓ https://www.ubuntulinux.jp/download/ja-remix-vhd のUbuntu14.04をいれてみたんですが正常に起動できませんでした。 よくわからんけど、「amd64でもi386でもないよ」って書かれているようでした。 んで、VirtualBoxを使っ…

BeagleBone Black (BBB)を使ってみた @debian,Cloud9, Lチカ

BBBにアクセス PCとかのブラウザでBBBのIPにアクセスするとBBBがwebページを表示してくれます。 そのページにCloud9の説明があります。 Cloud9はNode.jsで簡易的にBBBのハードウェアをいじれます。 javascriptを使ってコーディングすることになります。 java…

BeagleBone Black (BBB)を使ってみた @debian, シリアルUSB変換ケーブル

準備するもの MicroSDカード (4G以上) ACアダプター 5V (1A以上) シリアルUSB変換ケーブル つないでみた FTDIのシリアルUSB変換ケーブルでBBBとつないでみた。↓ http://akizukidenshi.com/catalog/g/gM-05840/ ※念のため電源を切った状態でケーブルをつない…

BeagleBone Black (BBB)を使ってみた rev.A5C@debian, WiFi設定

ちょっと古めのBeagleBone Black(以下BBB)を手に入れたので使ってみます。 rev.A5CなのでプリインストールされているOSはAngstromというやつらしいです。 ただでさえLinuxよくわからんのに、Angstromはさらによくわからんので、 検索でよく引っかかるDebian…

マイコンでのLED制御の注意点

まずは基本的なところから・・・。 ① LEDにはアノードとカソードがあります。 足つきのLEDは基本的には足が長い方がアノード(上の図ではRの方)で、 足が短い方がカソード(上の図ではGNDの方)です。 LEDは電流がアノードからカソードに流れると光ります。 な…