LPCXpressoとLPC800-MAXでマイコンを学ぶ(その6:タイマーを使う)

今回はBlinkyのサンプルに戻って、残っているタイマーの動作を確認したいと思います。 LPC800シリーズのタイマー LPC800シリーズにはタイマーが2種類あります。 Cortex-M0+内にあるSystick timer, 24bit 1チャンネル LPCシリーズとしてのMRT(Multi-rate Time…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その5:PLLを使用してクロックアップ!)

LPC812は最大動作クロックは30MHzなので、今回は30MHzで動作するように設定を変更してみます。 動作クロックの変更を行うには 前回のエントリのクロック・ジェネレータを参照しながら考えてみます。

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その4:スタートアップルーチン)

スタートアップルーチンを見てみる Blinkyのサンプルアプリはmai.cのmain関数から始まっているのですが、ここでここまでに至る起動時のスタートアップルーチンを見てみようと思います。スタートアップルーチンでは、起動時の重要な初期化やデフォルト設定を…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その3:LEDの動作(GPIO)を調べる)

サンプルアプリ(Blinky)のLEDの動作を調べてみる これで、ひと通りデバッグ等ができるようになりました。実際のコードを解析しつつ、ARM Cortex-M0というかLPC800シリーズのアーキテクチャを見て行きたいと思います。まずは前半を飛ばして、わかりやすいLED…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その2:デバッグでprintf文を使う)

普通にオンラインデバッグができますが、一点だけprintf文を使おうとしてハマりました。 デバッグでprintf文を使う 前回のBlinkyプロジェクトにprintf文を書いてビルドすると以下のようにリンカでエラーになってしまいます。 調べたところ解決策がこちらの「…

LPCXpressoとLPC800-MAXでマイコンを学ぶ(その1:サンプルアプリを動かす)

ARMマイコンの勉強を始めました。とりあえず、LPC800-MAXというArduino互換(ぽい)のが出たようなので、スイッチサイエンスさんで購入。このボードはmbedにもなるボードなのですがそっちは置いておいて、ARMマイコンを理解するためにもLPCXpressoで動作する…

インターネットとハードウェア

組込みプログラミングの必要性 プログラミングというとPC上でのプログラムが普通ですが、最近感じているのは組込み系のプログラミングの重要性です。単に組込みプログラミングというだけではなく、デバイスとネットワークを扱うためのプログラミングと言った…

ZigBeeモジュール Wireless Engine TWE-Lite DIPを使ってみた

なんか最近発売されて、かなり売れているらしいTWE-Lite DIPを使ってみました。ハマったポイントなどを書いておきます。 TWE-Lite DIPとは 東京コスモス電機が発売しているZigBeeの無線モジュールです。販売は「秋月電子」とか「千石電商」とかで売ってます…

JenkinsのビルドステータスをArduinoで表現する

いわゆるパトランプというやつですね。最初USB対応の製品を探したのですが、なんせ3万円とかする…これは買えない…orz というわけで、別件で試作したArduinoのシールドにフルカラーLEDを載せたのを思い出し、これを活用してしまおうということにしました。 用…

今更ながらFirefox for Android(Fennec)をビルドする

本家の情報はここ Fennec for Androidにあるけど、結構頻繁に書き換えられている感じですね。 下記のビルドは2013/07/04時点での状況です。 今回はマルチロケール対応のapkをビルドする流れになっています。 mozilla-releaseをビルドします。mozilla-cental…

HTML5時代のサーバpush型ナビのプロトタイプ

サーバpush型のWebアプリを作ってみた いわゆるサーバ・クライアントモデルでは、クライアントが情報を拾い、サーバへ送信することで膨大なデータを処理したり、計算したりします。今回は全く逆のシステムを作ろうとしています。サーバが情報を拾い、クライ…

node-serialportを使ってNode.jsでArduinoと通信する

node-serialportとは Node.jsでシリアルポートを制御できるようにしたライブラリ。今回はこれを使ってNode.jsとArduinoをシリアル通信で接続します。今回のターゲットは2種類。まずはMac + Arduinoで動作を確認した後、Raspberry Pi + Arduinoで動作させてみ…

Socket.IO for Android(nginx1.3.13リバースプロキシ対応版)

前回のエントリでnginx(1.3.13)でWebSocketをリバースプロキシしてみたのですが、それでは以前作成したSocket.IO for Androidのサンプルがリバースプロキシを通りませんでした。うーんと(´ε`;)悩んでいた所、 @gtk2kさんに情報を頂きましたのでコードを修…

nginx(1.3.13)でWebSocketをリバースプロキシしてみる

nginx(1.3.13)でWebSocketのプロキシを試してみました 2013/2/19にnginxが正式にWebSocketに対応したとアナウンスがあったので、試しに使ってみました。 ダウンロード・インストール ここからnginx-1.3.13をダウンロードしてきて、インストールします。 イン…

いわゆる普通の人が職を失う可能性

先日読んだ本「「日本で最も人材を育成する会社」のテキスト 」で、非常に興味深い部分があったので紹介します。 「日本で最も人材を育成する会社」のテキスト (光文社新書)作者: 酒井穣出版社/メーカー: 光文社発売日: 2010/01/16メディア: 新書購入: 28人 …

Raspberry Piにリバースプロキシを導入する

Raspberry PiにNode.jsを入れて動かしていましたが、Raspberry Piにリバースプロキシを導入して、サブドメイン名でApacheとNode.jsの切り替えをしてみます。リバースプロキシにはWebSocketを透過するnode-http-proxyを導入します。できるだけ手順をそのまま…

Raspberry Piに接続したフルカラーLEDをNode.jsから制御する

Raspberry PiのGPIOの制御方法がわかったので、Node.jsからGPIOをコントロールできるようにします。 Node.jsからGPIOを叩く 前回のGPIO制御のコマンドをそのまま使うような書き方をします。 var exec = require('child_process').exec; exec('gpio -g mode 2…

Raspberry PiでGPIO制御

Raspberry PiのGPIOをライブラリを使って制御します。またライブラリを使うことでJavaScriptからでもGPIOの制御ができるようになります。まずはGPIOを叩いてみるところと、ハマるポイントを書いておきます。 Raspberry PiのGPIOの情報 ここがまとまってるよ…

Raspberry Pi + Socket.IOでチャットアプリ

このエントリは前回の続きです。 Socket.IOを使ったチャットアプリの作成 Socket.IOをインストールとして簡易チャットアプリを作成します。といっても、このサイトのサンプルを移植しただけです、はい… Socket.IOのインストール まずは作業フォルダを用意し…

Raspberry PiでNode.jsを動かす

Raspberry Piとは 本家はココを参照。Wikipediaの方がわかりやすいかも。簡単に言えばARM11搭載の小型コンピュータで、主に教育向けとなっています。価格は$35で3000円ちょっとで買える手のひらPCと言った感じです。OSはDebianをカスタマイズしたものとなっ…

MAKERSとかAndroidとか

Android Advent Calendar 2012 17日目(12/17)の表担当@tomo_watanabeです。 17日目裏の担当は@Toro_kunさんです。 MAKERSとかAndroidとか 今回は最近話題になっているMAKERSとかAndroidとかを考えてみようと思います。 Androidってどんな位置付けだっけ? っ…

「MAKERS」の意味するところ

書籍「MAKERS」がかなり話題になっています。読んだ人も結構多いと思います。というか、これは必読本でしょう 「MAKERS」のザックリした内容 たぶん、だいたいこんなことが書いてあります... 3Dプリンタが凄い、これは流行る 誰でもハードウェアを作ることの…

【書評】Android×Arduinoでつくるクラウド連携デバイス

インプレスジャパンさんから献本を頂いたので、内容の紹介と感想を 著者は @itog こと伊藤元氏 対象読者 以下の各要素を基本的な所から説明しています。 Arduino Android Android Open Accessory 一方でサーバ側(クラウド)の方は省略されている感じなので…

実録!家電メーカがモバイル分野に参入できない理由

実録!Sierがネットゲーム事業に参入できない理由に触発されてカッとなって書いた。後悔はしていなry 研究開発 その1 社員「部長、Androidをプラットフォームとして採用して、サービスとデバイスを組み合わせた製品開発ができます」 部長「AndroidってLinu…

Socket.IO for Android

はじめに 就職先募集中です\(^o^)/ 前エントリの中の一部の実装の話です。Node.js + Socket.IOのサーバの基本構成と、Android版のSocket.IOクライアントのサンプルです。 とりあえずコードはよ。って方はコチラへ ※2013/3/10 コードをアップデートしてngin…

組込みにおけるHTML5の意味

7/2にMobile5という勉強会に主催者兼発表者として参加しました。 発表資料を公開しておきます。 組込みにおけるHTML5 View more presentations from Tomo Watanabe とはいえ、素晴らしいまとめ記事をジャーナリストの星さんに書いていただいたので、そちらを…

組込み技術とモバイル技術(2)

ESECでのブースセッションの資料をSlideShareで公開しました。内容は多少変更していますが、だいたい言いたいことはわかるかと思います。 組込み技術とモバイル技術 View more presentations from Tomo Watanabe メーカの開発現場の現状 私は元々は組込み系…

属人性排除の功罪

ソフトウェアの開発においては長年、属人性の排除が叫ばれてきました。今回は属人性の功罪について考えてみます。 属人性の排除の目的 定められた成果物を作成することにより、他の人にも理解しやすいようにすること 誰が担当しても一定の品質を保つことを可…

組込み技術とモバイル技術の違い

ESECが終わりました。3日間説明員として立っていましたが、モバイルアプリ開発から、組込み分野に戻ってきて、今の組込み技術の課題とか、問題とか色々見えてきたので整理したいと思います。その上でAndroidなどのモバイル技術との違いを考えてみます。 課題…

Arduino ADK用のADKライブラリを公開しました

初めての技術ネタで(^^; Arduino ADK(旧Mega ADK)用のADKのライブラリをGithubで公開しました。 @itog さんのライブラリを修正しています。目的としては、一般に入手しやすいArduino ADKで最低限の動作確認ができるようにしたものです。初心者向けに出来るだ…