久しぶりのArduino、ATtiny13Aの開発を行う
レジストに印刷されたイタリアがかっこいい!
何周遅れかわからないほどの周回遅れだけどArduinoを再開、
これは随分前、ユーロが高かった頃に買ったものだ
何をしたいのかと言うと、リモコンでTVの電源、音量制御のコントローラーを作るのだ
昔買った Arduino Duemilanove が今の環境で使えるのか確かめてみた
なんの問題もなく使える、ちょっと拍子抜け
USBドライバーを入れなくても認識されましたよ、進歩しているのね
Arduioの設定は
〔ツール〕⇨〔ボード〕からArduino Duemilanove or Diecimila を選択
〔ツール〕⇨〔プロセッサ〕から ATMega328 を選択
〔ツール〕⇨〔シリアルポート〕からcu.usbserial-A9007WJw を選択
ダウンロードページ
Arduino 1.6.9 Arduino - Software
ArduinoでATtiny13Aの開発をする
Arudino でATinyのプログラム開発し、Arduino を書き込み機にしてチップに焼くこともできるらしい。
IDE Ver 1.0.5 なら割とすんなり環境を整えることができるようだけれど、Ver 1.6.9 では少し手直しが必要でした。
ATtiny 44/84/45/85 ならVer 1.6.*で正式サポートされているようです。
参考ページ
Ver1.0.5でATtiny13を開発 Arduino IDEでATtiny他の開発(Arduino-ISP編)
Ver1.6.*でATtiny 44/84/45/85を開発 Programming an ATtiny w/ Arduino 1.6 (or 1.0)
ARMやIntelのCPUを仲間に加えるためにいろいろと修正が必要になったみたい
変更するのは
- ディレクトリー名の変更
- テキストファイルの修正(2ファイル)
やってみよう
1、ATtiny13開発の関連ファイルを取得する
Core13 から Released /core13_022_arduino_1_6.zip をダウンロードします
2、ダウンロードした "attiny13" をAruinoのスケッチ保存ディレクトリに移動
書類/Arduino/ の下に hardware と名のディレクトリを作ってその中に展開した attiny13 を移動します。
3、一部のディレクトリ名を変える
ディレクトリの構成と変更するところ(一箇所)を示します
$ tree -d
. ※(スケッチの保存場所)
└── hardware ※(ディレクトリーがなければ作る)
└── attiny13 ※(2でダウンロードしたもの)
└── avr
└── cores ※この名前を variants に変更する
└── core13
4、テキストファイルの置き換え
次の2つのファイルを置き換えます
- hardware/attiny13/avr/boards.txt
-
hardware/attiny13/avr/platform.txt
置き換えるファイルは下のリンクから
参考ページ boards.txt,platform.txtの設定方法の説明
Setup Arduino IDE to program Attiny 13/44/45/84/85
〔ツール〕⇨〔ボード〕から ATtiny_13 を選択、コンパイルできるようになりました
単なるLチカで42%も使う。アセンブラを使わないとダメかも
最近のiOSアプリ開発はどうなっているのだ?
iOSの進化と共にObjective-CやXCodeも進化しているようだ、最近はどうなっているだろう?
先人たちの知見を拝借、メモに残します
ふむ、Objective-Cじゃなくてもいいのか。
しかし、今回は納期もあまりないから(先人たちの)実績が多いObjective-Cにしよう。
Objective-CやCのライブラリーとうまく繋がるのかな?たぶん大丈夫なんだろうけど。
・メモリー管理はARCにまかせる
retainとかreleaseをいちいち書かなくても良いらしい、ありがたい。
autoreleaseも不要、というより書いちゃダメとのこと
・インスタンス変数の代入・参照は @property を使う
setter,getterをコンパイラーが生成してれるようだ、コードが見やすくなりますね。
hoge.val みたいにドットで参照、設定ができるのもいいかも。
オブジェクトの所有関係により strong weak の指定をすること
スレッドセーフにするかどうか等のパラメータがあるようだ、あとで調べよう。
・インターフェースビルダーはXCodeに組み込まれた
XCodeと行ったり来たりしなくてもいいんだな
・IBOutlet、IBActionはインターフェースビルダーとの繋がりを示す
なんか初めの頃に、これに引っ掛かって進めなくなったんだよ
単にインターフェースビルダーへの手がかりを与えるキーワードだったんだな
iOSの世界は全てをコードに記述する必要はなくて、あらかた暗黙的にやってくれるのだが、何をどこまでやってくれるかの境界が見えない間はかえって混乱してしまうのだよ。
main() から書くのが当たり前の世界でコードを書いてきたからなあ。
スッキリしたい方、先人の教えへどうぞ
iOSアプリ開発初心者だがIBOutletとかIBActionって何なのさ(^_^;)
・main()はそのままでいい
main()を修正する必要はなさそう
メインでやることはだいたい決まっているのでフレームワークという共通メインルーチンに任せる。
起動やタップなどの事象が発生した時に呼ばれるメソッドに必要な処理を記述する。
・[ ]の中は smalltalk の世界
なるほど、[object message]とみれば smalltalk そのもの、外側はCの世界
・実機で動作させてみるには iOS Developer Program に入る必要あり
¥11,800(税別・年間)
高い気もするけど必要な投資、いよいよ後に引けなくなってきたぞ。
iOS アプリ開発の初めかた
以前からiOSのアプリを作ってみたくて本を読んだりしたけれど、途中で投げ出してしまってた。
このままじゃ一生アプリを作らないかもと思い、作らざるをえない状況に追い込んでみた。
つまり、仕事としてiOSアプリ開発を受注した。大丈夫か。
クライアントの
「経験はおありですか」
というお約束の質問には
「もちろんです、お任せください」
とこれまたいつものハッタリで答え、あとには引けない状態に突入。
まあ、XCodeを使って"Hello World"を表示したことはあるから丸っきりのウソじゃない、シミュレータだけどね。
仕事を頼む側からすれば経験のある人に任せる方が安心なのでしょうが、コンピュータの応用範囲は広がる一方だし、同じ仕事の繰り返しじゃあ作る方もつまらないから新しいことに挑戦したいよね。
いままでいろいろな仕事をこなしてきたけれど、どれも経験のないものを引き受けて、受注が決まってからから勉強を始めるのが常でしたね。
今はネットがあるし、先人たちが解決法を示してくれているからあまり不安を感じません。
昔は受注したその足で本屋に向かい、重たい本を何冊も抱えて帰ったものでした。
心の広い先人たちに感謝しつつ、後に続く人たちへの道標を残せればいいなあと思ってます。
かえって迷子にしてしまうかも
AX05から始まるSIMはロック解除アダプターが使えない
SIMフリー化したiPhone3GSを有効活用するためBB-ExciteのSIMを申し込んだ。
開通日は12月8日だが先にSIMが到着したので試しに入れてみたところ、SIMフリーのiPad-miniとiPhone4s、フリー化したiPhone3Gsは問題なく電波を掴む。
がしかし、SmartKingを使ってSIMロック解除しているiPhone4sに入れると
「不正なSIMです」と表示され使えなかった。
ググってみるとDocomonoのピンクSIMには対応してないらしい。
ピンク色でなくてもSIMの番号がAX05から始まるものはダメなんだって。
さらに最近発行されるDocomoのSIMはこのタイプになっているようだし、AX05に対応するアダプターが開発される予定はないとのこと。
IIJmioのSIMを1枚残すしかないかな
BB-Exciteへの乗り換えをもくろんでいたのだけれどなあ
BBエキサイトのSIMを注文した
iPhone3GSのSIMフリー化が無事に成功したのでモバイル端末として復活、活用したいと思いました。
で料金がとても魅力なBBエキサイトとのSIMを頼んでみることにしまいた。
WEBからの注文でクレジットカードがあればOK。
1G/月のコースにしてみる。
注意するところ
- SIMが届くまでに時間がかかる
今日(11月22日)に頼んで、最短で12月8日でした。 - SIMの交換はできない
SIMのサイズ、SMSの有無の交換はできないようです。
iPhone3Gs iOS 6.1.6 SIMロック解除
iOSを6.1.6(iPhone3Gsの最終バージョン)にしてもSIMロックを解除できるみたいなので挑戦してみた。
参考にしたサイトは
今更ながらiPhone3gs完全脱獄! SIMロック解除もOK!
ですが、この通りの手順ではダメでした。
うまく行った手順をメモします。
私の条件
準備するもの
流れ
redsn0wで脱獄する手順
- iPhoneをMacに繋いでおく
- redsn0w(redsn0w_mac_0.9.15b3)を起動
- Extras>Select IPSW でファームiOS6.0を指定、Backで戻る
- Cydiaのインストールのみチェックされていることを確認してNextクリック
- Jailbreakをクリック、ブートのタイプを聞かれるので No を選択
- iPhoneの電源を切り、Nextをクリック
- DFUモードにする(ボタンを押すタイミングに注意)
- 処理が終わるまで待つ
※DFUモードにするには
電源ボタンを押したままにする
2、3秒でリンゴマークが表示されるのでそのままホームボタンを押す
10秒くらいしたらリンゴマークが消えるので電源ボタンを離す
さらに10秒くらいホームボタンを押したままにしておく
SIMフリー化ソフトに対応するBasebandのバージョンにする
一旦iPadのバージョンを入れた後で05.13.03に下げる
- 再度redsn0wで install ipad baseband をチェックして4.〜7.を行う
- 再度redsn0wで downgrade from iPad baseband をチェックして4.〜7.を行う
脱獄がうまく行けば iPhone に Cydia というアプリがインストールされている。
このアプリを使ってSIMフリーにするための ultrasn0w を入れる
ここからはiPhoneのみを使います
- Cydiaをクリックして起動、初期設定などを行う
- 左下の「ソース」をクリック、右上の「編集」、左上の「追加」を押して
http://repo666.ultrasnow.com を入れる - 「検索」より Ultrasn0wを探してインストール
以上