2017年10月05日

FlashAir W-04の新FWのserial関数(UART通信機能)の使い方

FlashAir W-04の新ファームウェアに追加されたserial関数(UART通信機能)の使い方の解析ができました。
なお、関係ないですがprint文が1回あたり300msほど掛かるようになっています。
リアルタイムに出力が見える反面、かなり遅いです。

初期化

fa.serial("init")

戻り値は常にnil
115200bpsに初期化される。

2018/06/30追記
ファームウェアバージョンW4.00.03においては、ボーレートの変更ができるようになっている

fa.serial("init",9600)

300bps〜921600bpsまで確認した。1bps単位で通信できる模様?
9600bpsや31250bpsでも動作する模様。

開放?

fa.serial("deinit")

未初期化状態に戻る?
戻り値は常にnil


送信

fa.serial("write","Hello World")
fa.serial("write","Hello World",11) --送信バイト数指定?
fa.serial("write",0xAA)

--2018/06/30追記。テーブルも行ける
dat = {0x0D,0x0A}
fa.serial("write",dat)

戻り値は常にnil

受信

x = fa.serial("read")

バッファにデータが有ると、1Byteを数値として返す
データがない時はnil
端子が開放されていると255を返すことがある

バッファの長さは14Byte

速度: 115200bps (W4.00.03では変更可)
8bit 1stop

Tx: D0
Rx: CMD


サンプル

fa.serial("init")
print(fa.serial("write","Hello World"))
s=""
for i=0,16 do
x = fa.serial("read")
if(x ~= nil)then
s = s .. string.format("%c",x)
end
end
print(s)
print("OK")
posted by gpsnmeajp at 18:56| Comment(0) | TrackBack(0) | メール投稿

FlashAirのserial(telnet版)

なんか送信だけはできそうなメッセージが出た。

> serial
serial
> serial write
serial write
serial write -x(hex)/-s(string) data
hex data should be like "02 AF 0E"
> serial read
serial read
posted by gpsnmeajp at 17:58| Comment(0) | TrackBack(0) | メール投稿

FTLEのDebug機能は新ファームウェアでは動作しません

FWアップデートによりDebugライブラリが削除されたため、
FTLEのDebug機能は新FWではもはや動作しません
これはFlashAir側の仕様変更であり、FTLE側での対処はできません。
Debug機能をお使いになりたい場合はアップデートをお控えください。

FWアップデート後は、代替としてbreakpoint()を利用してください。
posted by gpsnmeajp at 17:46| Comment(0) | TrackBack(0) | メール投稿

FlashAir W-04新ファームの検証速報1

メール投稿のテストも兼ねて、速報的に記事を書いてゆく。
現時点で見つけた機能
・FW更新ともに、隠し領域のファイルがすべて修復されるようになっている。
・debug, coroutine, osライブラリが削除された。残念。
・serial関数が増えている。TELNETにも存在。(探査結果は以下に示す)
・WSD_BUF_ERR_OVERFLO問題は未解決(W04では3KBを超えるrequestは全く受信できない)
・fa.udp({mode="stop"})でのフリーズ(?)は変わらず
・fa.serialはメッセージがダンマリなので、@ayasehiroさん並みの気合探索が必要そう
・Luaのprint文の応答がリアルタイムになっている(Chrome側の仕様変更?)


探査結果

assert = function: 961808
tostring = function: 9619E8
require = function: 9995B0
next = function: 961542
rawset = function: 9613BE
math = table: 99B584
ipairs = function: 9615D2
fa = table: 98E78C
_G = table: 98E970
setmetatable = function: 9612B2
select = function: 961844
io = table: 998DC8
dofile = function: 9617B4
xpcall = function: 961980
mod = function: 96075C
error = function: 961226
print = function: 961004
pairs = function: 96157A
getmetatable = function: 96127A
arg = table: 99A5A4
rawequal = function: 961318
string = table: 998E94
SOCK_DGRAM = 2
bit32 = table: 99B1F8
loadstring = function: 9616F2
load = function: 9616F2
SOCK_STREAM = 1
unpack = function: 95F626
DISCARD_BUFFER = 0
collectgarbage = function: 9613FA
package = table: 998770
module = function: 99956C
rawlen = function: 96134C
table = table: 99A3D4
type = function: 9614A4
tonumber = function: 9610A2
pcall = function: 961932
lfs = table: 998BE4
cjson = table: 990310
loadfile = function: 961606
sleep = function: 9607AE
_VERSION = Lua 5.2
rawget = function: 96138A
dump = function: 960710
-------
Bridge
GetSecretCode
sysclk
stack
ping
Connect
Establish
control
ftp
ConnectedSTA
i2c
serial
Scan
task
rename
hash
reboot
request
spi
websocket
getStatus
search
ClrSecretCode
GetScanInfo
SetCert
HTTPGetFile
MailSend
sharedmemory
remove
ip
Disconnect
SetSecretCode
SetCurrentTime
SetRmHeader
StartWPS
ReadResponse
pio
ReadStatusReg
udp
SetChannel
WlanLink
strconvert


Console [level:1(enduser)]
help show help
version show version
mod Modify Memory
dump Dump Memory
ip Address Setting
ping ping
reboot reboot system
fat file system
wlan Wireless LAN control
sd SD Card Access
userpg start user program
wsd wsd
lua LUA
update fwupdate
websocket WebSocket Client (TWSC)
i2c i2c test
serial serial

Console [level:1048(factory)]
help show help
version show version
mod Modify Memory
dump Dump Memory
stat show status
ip Address Setting
ping ping
reboot reboot system
print console output
fat file system
wlan Wireless LAN control
sd SD Card Access
factory Read/Write Factory Information (0xD0000)
current factorycurrent
userpg start user program
wsd wsd
lua LUA
update fwupdate
websocket WebSocket Client (TWSC)
i2c i2c test
serial serial

Console [level:1048(Developer)]
help show help
version show version
mod Modify Memory
fdump Memory dump to file
dump Dump Memory
stat show status
ip Address Setting
ping ping
reboot reboot system
setup TELEC command
send TELEC command
stop TELEC command
show TELEC command
deauth deauth command
print console output
sleep sleep setting
fat file system
wlan Wireless LAN control
dhcpd DHCP server
dhcpc DHCP client
nbios NetBios service
wps Wi-Fi Protected Setup
sd SD Card Access
http HTTP Client
httpd HTTP Daemon
tz HTTP Daemon Time Zone [-48..56]
rfic set RF-IC serial data rfic
iperf Measuring performance
sysclk change System clk
ps ps [on/off]
pw pw
pio pio
posted by gpsnmeajp at 17:39| Comment(0) | TrackBack(0) | メール投稿

FlashAir W-04の新ファームウェア4.00.01

FlashAir W-04の新ファームウェアが出たようだ。
危なく見落とすところだった。twitterから離れるとこういうところが面倒だ。

色々不具合等があったので、そこが改良されていると嬉しいなと思いつつ、
検証は後ほど。


posted by gpsnmeajp at 16:24| Comment(0) | TrackBack(0) | 電子工作

2017年10月03日

NiftyのスマートサーブVPNがうまく繋がらないときの対処

Niftyのスマートサーブのレビューをしようとして、ちょっとハマったので記録。

月額315円、初期費用無料で、専用端末付き、
ゼロコンフィギュレーションで簡単にできますよー、としたかった。

実際、スマートサーブ自体の設置は電源とLANを刺すだけ。
認証設定もiPhoneからだとプロファイルの生成配布をNiftyのサイトでやってくれるので簡単。
なのだが、多重NATな環境故か、設定が必要だった。

*症状
Windowsで接続しようとすると
「リモートコンピューターへの接続を確立できませんでした。この接続用にネットワーク設定の変更が必要である可能性があります。」
1.png

iPhoneで接続しようとすると
「L2TP-VPNサーバが応答しませんでした。もう一度接続してください。それでも問題が解決しない場合は、設定を確認し、管理者に問い合わせてください」
A.png
あるいは
「PPPサーバへの接続を確立できませんでした。もう一度接続してください。それでも問題が解決しない場合は、設定を確認し、管理者に問い合わせてください」
B.png

で、スマートサーブの「モバイル接続機能」の「基本情報」ページに行くと以下のようなログが出力されている。
「DHCP取得エラー」
4.png

スマートサーブのターミナル本体は「ステータス2が点滅」している。

*原因
この場合、どうやらスマートサーブのターミナルとセンター間でのVPNコネクションが張れていないようである。
スマートサーブはL2TP/IPsecを使ってコネクションを張り、HTTPSを使ってファームウェアの設定等を行う。
このうちHTTPSは正常に通信できるが、L2TP/IPsecが通信できないのが「ステータス2点滅」の状態らしい。

ルータがIPsecを妨害してしまっているために起こる模様。
(ただし2本以上の場合に問題になるという話が多いのだが、)

*対処方法
ルータの設定画面から「IPsecパススルー」を有効にする。
3.png

*接続成功
接続できると以下のようになる。
C.png

D.png

*同時接続禁止
VPNは1つのアカウントで2つ以上の同時接続はできない。
SoftEtherなどを使っている場合は、接続台数に合わせて増やせば良い。
スマートサーブでは、2ID目以降の追加は、月額100円ずつ+される。
もっとも、センターを経由して通信している以上仕方ないとも言える。

同時接続しようとすると以下のエラーが出る
「指定したユーザー名またはパスワードが認識されないか、選択した認証プロトコルがリモートアクセスサーバーで許可されていないため、リモート接続が拒否されました」
alredy.png

VPN接続「認証に失敗しました」
E.png
posted by gpsnmeajp at 22:44| Comment(0) | TrackBack(0) | トラブル解決

2017年10月01日

引越し完了

ブログの引っ越しって簡単にできるようになってるんですね。知りませんでした。
一筋縄では行かないだろうなぁ、と思っていたら案の定で、
さくらのブログでインポート可能なのはMT形式、一方Bloggerは(独自の?)XML形式。

しかし、MT形式のブログは多いらしく、変換のための情報もありました。
海外でも使われてるんでしょうか。
google-blog-converters-r89で変換することができました。

なぜかBloggerに引っ越す記事が多かったですが。
さくらのブログは、Seesaaブログと同じエンジン(というかSeesaaから提供されているらしい)なので、
参考にできる情報が多くて助かります。

Seesaaブログはスパム判定されると即BANらしいですが、さくらインターネットさんでは
そういうことはないでしょう。多分。少なくとも日本語を理解してくれると期待しています。

参考情報
Google Blogger からこのはてなブログにインポートしました - ゆたんぶろぐ

GoogleのBloggerからはてなブログに記事を移行する方法 - 元マニラ住人の青年のブログ

画像の引用先がBloggerになってるのが、ちょいと面倒。
ネット上で、跡地としてブログが残っている理由がやっと理解できました。
画像の移動をサボった結果ですね。

ところで、Bloggerでは便利な投稿アプリ等があったのですが、さくらのブログにはないですね。
(もっともBlogger公式のアプリは消滅しましたが。サードパーティのアプリが数日だけだが便利だった)
外部投稿用の機能はあるようですが...

ただ、古き良き「メール投稿」システムがあるようなので、そっちを使うことにします。

posted by gpsnmeajp at 22:30| Comment(0) | TrackBack(0) | 雑感

テスト投稿

これはテスト投稿です。
posted by gpsnmeajp at 16:16| Comment(0) | 日記

Bloggerもそのうち廃止になるのだろうか

正直なことを言って、GoogleはBloggerやSiteに力を入れていない、
というより、もはや廃止対象になりつつあるのではないかと思うことがあります。

ひさびさにBloggerをスマホから更新しようとして、昔使っていたBlogger公式アプリがなくなっていたり、
公式設定画面をiPadから操作してると意味不明な箇所で落ちたり、
そもそもBloggerもSiteもスマホからの更新を考えていない雰囲気があったりと。

メインでサポートする気があるなら絶対に落とさないであろう箇所は放って置かれていますし、
サービスの改善も長いこと行われていない(使いにくくはなっていっている)ことからして、
もう先はそんなに長くないのかもしれません。

というわけで、WordPress等への移行も視野に入れておく必要があるのかもしれませんね。


追記

bloggerが突如スパム判定されてロックアウトされるという事象も、
わりかし頻繁に起きている様子。
根強く申請すれば解除されるそうだが... それもそれで恐ろしいなぁ...
posted by gpsnmeajp at 02:37| Comment(0) | TrackBack(0) | 未分類

2017年09月30日

忍者アナライズが残念

アクセス解析ツールとして何がいいのか、いまいち定まっていない。
Google アナリティクスは、広告の効果の解析等に特化してるのかごちゃごちゃして見づらい。
それで、非公式WikiにはGoogleアナリティクスと、忍者アナライズを使っている。

忍者アナライズは、昔からWebを使っている人ならお馴染みの忍者ツールズの奴だ。
昔ながらのアクセス解析もあるが、忍者アナライズの方は割と近代的な作りになっている。

のだが、困ったことにSSLに対応していない。
SSLと通常のコンテンツを混ぜるのはだいぶん昔にダメになったらしく、SSLオンリーで統一しないといけないらしい。

wikiは暗号化なししかサポートしていないので、なんの問題もなく動いており、
忍者アナライズ自体もSSLに対応していそうな「雰囲気は」していたので油断していたが、
実際にSSLページに置くとエラーを吐く。

なにかと覗いてみると、HTTPSとして忍者ツールズにアクセスしてるまではいいのだが、
サーバー側が応答しないのだ。

んで、FAQを見てみると見事に「動作保証外」との表示が。
というわけで、ブログやサイトでは未だにGoogleアナリティクスオンリーである。

余談だが、SeesaaWikiってGoogleWebマスタと相性が悪く、
認証できないので、検索キーワードがわからない。
辛い。
posted by gpsnmeajp at 20:48| Comment(0) | TrackBack(0) | 未分類

ブログの運用方針も変えようと思う

今まで、Twitterをベースに活動をしてきたので、ブログとサイトの使い分けは割と曖昧であった。

まれに日記的な何かを投下することがあるかもしれない程度で、
正直更新間隔が非常に長かった。

今回、Twitterを仮停止したのに合わせて、日記的なものの役割を、
きちんとブログに担わせようと考えている。

日記はここに。
コードの断片はqiitaに。
成果物はsakuraに。
とそんな感じで。

RSS連携なども設定が終わったので、今後はここの更新をメインにしよう。
もっとも続くかはわからないが。

Blogger用のアプリも入れたので、前よりかは更新しやすくなるのではないかと思う。

今後こんな感じの適当な文が増えるがご承知ください。

ちなみに以前のTwitterみたいなのが見たい人は、
mstdn.jpに来ていただけると今はそんな感じでやってます
posted by gpsnmeajp at 20:23| Comment(0) | TrackBack(0) | 未分類

2017年09月29日

新しいサイトを作りました

新しいサイトを作成しました。
https://sabowl.sakura.ne.jp/gpsnmeajp/

今まで、本ブログやサイトのようにGoogleの無料サイト機能や、
SeesaaWiki、Twitter、Qiitaなどを中心に活動してまいりました。

しかし、特にTwitter周辺含め昨今様々な騒動等もあり、ふと考えを改め、
情報発信の構成を見直すこととしました。

Twitterでのつぶやきは、リアルタイムでの共有や軽い共有はさておき、
長期に渡って参照されるものにはなりえませんし、
運用方針など疑問が多々あり、また技術とは関係ない方面においての
心労も無視できなくなりました。

また、本ブログのサービスBloggerではjavascriptが満足に動作しなかったり、
HTMLに手を入れようとするとかなり面倒なことになりコードが公開しにくかったり、
Google Siteでも同様に、javascriptを走らせるのは非常に面倒、
HTMLはもはや無理なレベルだとか、まあ色々ありまして、

この度、さくらインターネットのレンタルサーバーを借りて
HPスペースを持つことにしました。老舗ですし、有料なので安心感があります。
なにより共有SSLが使えるので、最新のWebUSBやらWebBluetoothやら
Service Workerやらが使えるのが嬉しいところ。
(なんか仕様が古いとか独自とかいう話もありますがとりあえずは支障なさそう)

それにあわせ、メールサーバーもついてきましたので、
メールアドレスも公開させていただきました。

今後の方針ですが、
・FlashAir開発者向け非公式Wikiは継続します。
 誰でも編集できるWikiであることが大切だと思っていますので。
 編集してくださる人が増えることを願っています。

・Qiitaも継続します。細かなコードの公表や、チュートリアル等は
 反響を読みやすく、また書きやすいところが便利です。
 動作デモや、まとまったコードなどはさくらの方に上げる形になるかと思います。

・GoogleSiteは、アクセスが多いのでなんともですが、
 FTLEを残してだんだんと移転する形になるかもしれません。

・本ブログは、コード関係の記事は削除します。
 (そもそもコードがまともに読めなくなっているので)
 Qiitaに移動するか、別途サイトの方にページを作るかは未定ですが、
 内容は(自分のために)残すと思います。

・ニコニコ動画に上げていた動画は、取り下げるかもしれません。
 取り下げた場合は、youtubeか、サイトに置きます。

・youtubeの動画は...多分取り下げないと思います。

・Twitterは未定です。

以上、お読み頂きありがとうございました。
posted by gpsnmeajp at 23:10| Comment(0) | TrackBack(0) | 未分類

2017年07月25日

HP Stream 11-y004tuを購入した

HP Stream 11-y004tu(2016年12月モデル)を購入した。
Celeron N3050搭載の非力なマシン(10年前のCore2Duoに負ける性能)だが、
その価格(3万2千円)に負けて買ってしまった。

Windows PCとしてはポータブックがあるのだが、Linux入れる用のマシンが欲しくなったのだ。
HP Stream 11シリーズは比較的有名で、前々からLinuxを導入した報告が多かった。
同価格帯のasusのE203NAとかなり迷ったのだが、asusのマシンはLinux導入時のトラブル報告が多いので、
Linux初心者の自分には向いていなさそうということでHPを選択した。

で、届いた。


開封した印象としては
・割と本気でおもちゃっぽい
・筐体が軽くて薄くて良い
・通常のACアダプタケーブルの他に、ACアダプタに直結できる
 L字型コンセントアダプタがついているのはかなり好感度が高い。携帯性が高まる
・キーボードは、良くもないが悪くもない。パタパタといった感触
・Windows 10はじめてブック的なものがついているのは初心者にすごく優しい
・タッチパッドになにかの跡が... 製造時のかな?

まず、デフォで入っているWindows 10の方を使ってみた。
・クソ重い。正直使用がきついレベル。ポータブックのほうがまだマシ
・すべてが遅い。使いにくい。
・ポータブックと違って液晶はマトモな方。(超きれいではない)
・One Driveの2年間100GB無料使用権利が紙で同梱されていて、それは良い
・HPの製品登録をすると、さらにDropboxの1年間25GB無料権が手に入るのも良い
・入っているのは1507あたりのかなり古いWindows 10であり、
 即Creators Updateにする必要が(もちろん問題なく終了する)
・ファンレスなのは良い

次に、Ubuntuを導入するついでにBIOS設定に入る。
・普通に64bit UEFI
・HPは自己診断ツールが充実していて良い
・起動時パスワードや、起動順位設定などが普通に設定できるのが素晴らしい
・レガシーBIOSサポートまで入っている(Windows7以前も問題なく入りそう)
・POST delayの設定もできる。素晴らしい。
・当然のようにUSBブートもCDブートも対応
・セキュアブートもオフにできる(次回起動時に確認画面が出る)
・音量キーなどは、デフォだとFn押さずに利用できる
 (つまりF1等のキーが後ろに回っている)が、
 Action Key設定をdisableにすると、通常ファンクションキー有効で、
 Fn押すと音量等の操作になる普通の設定にすることができる。
とても良い。

最後に、Ubuntu 16.04 日本語Remix(64bit)のライブCDで動作確認
・起動順位を設定し直しておけば、なんの問題もなく起動する
・起動は遅いが、起動後はそこそこ軽快に動作する
・カメラ OK
・キーボード OK
・microSD OK
・Wi-Fi OK
・Bluetooth OK
・オーディオ OK
・イヤホン端子 OK
・タッチパッド OK(※)
・モニタクローズでのサスペンド NG
・手動でのサスペンド OK
・サスペンドからの復帰 OK
というわけで、デバイス周りの問題は何も概ね起こらず使用できた。
素直で素晴らしい。

もちろんセットアップ時にもWi-Fiは問題なく使用できている。

※タッチパッドは、2本以上の指で触れると、時折左上や左下に吹っ飛んでいくことがある。
 頻繁には起こらないが、そこそこ起こるので注意。Windows使用時も同様かは不明
 (どうやら、クリックするときに反応するのが原因らしい。クリック時にカーソル操作する側の指を離せば発生しないが...)


結論: Linux入れて使うのに最適。Windowsで使うなら大変な気長さが必要そう


Ubuntu導入後
・タップでクリックする、や、二指でのスクロールは切っておいたほうが良さそう
posted by gpsnmeajp at 21:09| Comment(0) | TrackBack(0) | 未分類

2017年06月24日

最近ちょっとFelicaにハマっている

最近ちょっとFelicaにハマっている。

Felicaで色々するのが流行ったのは2008年ごろだろうか。
当時自分も、Felicalibを使ってIDmを読み込んで認証するプログラムを作った覚えがある。
その時、RC-S330を購入したのも覚えていた。

最近、といっても1年ほど前だろうか。
ふとしたことで、NFC搭載のSDカードを手に入れた。
東芝のアレだ。

当時自分はNFCを読み取れる機材がなく、SDカードも別に不足していなかったので、
戸棚にしまったままになっていた。

3月頃、ふとAndroidアプリ開発をしたくなってNexus5Xを購入していた。
NFC読み取り機能もあることだし、と、免許証や電子マネーの読み取りアプリも入れていた。

それで、ふと先のNFC-SDカードを思い出した。
Nexsus5Xにアプリを入れ読み取ると、ちょっと使いづらいながらも
無事サムネイルとカード名を読めるようになった。

NFC-Type Fなので、PC+PaSoRiでも読めそうだが、公式にはないし、
やっている人も見かけない。

ここでふと思った。ざっと探してもネット上でこのSDカードを解析している人はいない。
しかし、自分は前にFelicalibで少しだがFelicaには触っている。
ちょっと調べれば実は簡単にできるのではないか?と。

実際、このSDカードの仕様とメモリマップは公開されていた。
見た感じ結構単純そうであるし、行けるだろう、と思ったのが罠だった。

詳細はFlashAir開発者向け非公式wikiを参照してほしい。
http://seesaawiki.jp/flashair-dev/d/NFC%3aPC%a4%ab%a4%e9%c6%c9%a4%df%bd%d0%a4%b9
のだが、ここでもかいつまんで説明しよう。

まず、Felicaには現在最低でも2種類ある。
Felica Standard: これは、いわゆるSuica等の普通の高セキュリティなFelicaだ。
 いわゆるカード型Felicaのそれは全部これである。
Felica Lite: これは機能が省略された安価なFelicaで、そのかわり小型省電力。
 もともとNFC用に作られたと言ってもいいもので、ポスターやフィギュア、
 シールや小さなカードなど、小型軽量薄い、そして安いが、
 暗号化機能はごっそり削られ、容量もかなり少ない
 一部では会員証として普通のFelicaと同じカードの形をしていることもある。

で、2008年ごろのFelicaといえば、Felica Standardのことだった。
Felica Liteはあとから出てきたもので、いわゆるNFCはほぼこっちである。

そう、2008年で更新が止まっているFelicalibはFelica Standard用に作られており
一方、NFC SDカードは、NFCの名の通りFelica Liteなのである。

Felica Standardは、かなり複雑な階層構造になっており、
システム→サービス→エリア→データブロックになっている。
”システム”でEdyやSuicaなどが別れ、そのシステムも共有の領域な場合があって
そこはサービスで分ける。(Edyなどは共有領域を使っている)
そして、サービスの中はエリアで別れていて...と言った感じ。
(エリアは8階層まで可能らしい)
なので、ディレクトリ構造になる。
またこれらを扱うために多種多様なコマンドがある。
アクセス手法もランダムや、サイクリック、パースなどあるし、暗号化も様々できる。
トランザクション処理もできる。

一方、Felica Liteは、システムもサービスもエリアもない
ブロックしかない。ブロックしかない。
そのため、ブロックアドレスのマップ、メモリマップで全てが表せる。
さらに、コストカットのためコマンドも削られている。
・ポーリング
・暗号化なし読み取り
・暗号化なし書き込み
しかない。

ただ、互換のためシステムコードは0x88B4(Felica Lite) or 0x12FC(NDEF)で反応し、
サービスも0x0009(読み書き可)と0x000B(読み取り専用)がある。
(2つのサービスは同じ1つの領域を読み書きする。権限が違うだけである)

...であることから、通常Felica Standardで使われる普通の手順
1. ポーリングする
2. システム一覧を取得
3. システムの中のサービス一覧を取得
4. サービスの中のエリア・ブロックにアクセス
が成立しない。

もう2も3も成立しない。

そのため、Felica Standardで使われるダンププログラムを使うと、
謎の00領域00サービスの山に悩まされることになる。
(実際にはコマンドエラーで失敗していると思われる)

一方、単純故に解決も簡単で
1. 0x88B4で決め打ちポーリングする
2. サービスは0x000B固定で、エリアも無視して、ブロックアドレス与えて単に読み書きする
に愚直に従えば良い。

良いのだが、ここでまたFelica Standardで現れなかったのであろう問題がぶつかった。
Felicalibが1バイトアドレスにしか対応していなかった。

そもそも、Felica Standardは細分化された構造にデータが置かれているから、
そんなに1つの領域に大量にデータを置くことがなかったのだろう。

一方、Felica Liteは1つの領域しかないため、そこに置くしかない。
そのため1バイトで表せるアドレス数では足りなかった。
(※本当のFelica Liteは足ります。Felica Plug等の外部メモリがついているタイプのが困るのです)

Felicaには2バイトアドレスでアクセスする方法が予め用意されていたので、
それでアクセスすれば問題なし...なのだが、ライブラリにはその機能がなかった。

そのため、改造が必要になった。
ちなみに、改造したライブラリはここにあります。
https://sites.google.com/site/gpsnmeajp/tools/felicalib_segfix
エラー対処や、いろいろな改善(改悪含め)が入ってます。

んで、読み書きできればこちらのもの。
あとはメモリマップに従ってやれば、読み出しできる。

Felicaなんで、標準242kbps、高速424bpsしかないけど。
さらに1ブロック単位アクセスをするとなお遅い。

おそーい。

それでも読み出すツールはできましたので、こちらに置いておきます。
https://sites.google.com/site/gpsnmeajp/tools/nfcsddumper
同梱されているライブラリは最低限の改造しかしていないものですので、
プログラムに組み込んで使うのであればこちらではなく、上のを使ってください


posted by gpsnmeajp at 21:01| Comment(0) | TrackBack(0) | 未分類

2017年04月27日

FlashAir W-03の新ファームウェア調査(FA9CAW3AW3.00.02)

FlashAir W-03に新しいファームウェアが公開されています.

ざっと調べた結果.

隠し関数の変更:1件(ConnectNum → ConnectedSTA)
隠し関数の追加:1件(search)
隠し関数の削除:0件
でした.

この変更により,現在FTLEのメニューが動作しません.
近いうちに修正予定ですが,それまでは
・FlashTools.luaのConnectNumをConnectedSTAに修正するか,
・直接/FTLE/edit.htmにアクセスしてご利用ください.
ご不便をおかけします.

未公開の関数を利用する際は,同様のリスク(変更・削除による動作不良)が
発生することを理解した上でお使いください.


posted by gpsnmeajp at 19:09| Comment(0) | TrackBack(0) | 未分類

2017年04月23日

Twilioを使って,FlashAirから電話をかけよう。(あと他の通知手段あれこれ)

電話/SMSをAPIから発信・着信できるサービスTwilioを使って,FlashAirから電話をかけます.
電話のほか,SMSも利用できます.また,将来的にはFAXも利用できるかもしれません.

簡易的な非常通報装置や,セキュリティ装置,呼び出しボタンなんかが作れます.
ネット上のサービスを利用するので,インターネットに出られるWi-Fi接続が必要です.

※画面にFlashAirを貼り付けてるのは,電話番号が画面に表示されるため

FlashAir開発者向け非公式Wikiに,サンプルのスクリプトと使い方の記事を上げました.
http://seesaawiki.jp/flashair-dev/d/Lua%3a%20Twilio%a4%f2%bb%c8%a4%c3%a4%c6%c5%c5%cf%c3%a4%f2%b3%dd%a4%b1%a4%eb

アプリもスマホもなしで,電話の着信さえできるなら誰にでもつかえる利点は
あるんですが,このサービス,有料,それも従量制課金のサービスなので,
どっちかというとFAとかそっち向きな気がしますが,
無料体験もできるので,気になる方は試してみてください.

ちなみに,電話を応答拒否したり,ほったらかしで切れたりすると,
しつこく掛けなおしてきますので,モーニングコールにも便利かも.
(少なくとも3回は掛けなおしてきた.)


ちなみに,アプリ500円ポッキリ買い切りで,以後通知受け取り放題の
PushOverというサービスもあります.フツーのスマホを持ってる方はこちらが便利.
https://pushover.net/
かなり頻繁な通知もサポートしてくれるので便利.
画像の添付や,通知音の変更などの細かいものにも対応してくれます.

HTTPSアクセスで通知を叩けるのですが,
実は,メールアドレスも有り,そこにメールを送ることでも通知を飛ばしてくれる有能.

これも,Wikiにサンプルあります.
http://seesaawiki.jp/flashair-dev/d/Lua%3aPushover%a4%c7%c4%cc%c3%ce


ヤダー!無料がいいー!って人は,IFTTTの通知機能を使えばいいんじゃないでしょうか.
IFTTTは都合上,頻繁な通知はサポートしません.(15〜30分に1回くらい?)
これもWikiにサンプル有りますのでどうぞ
http://seesaawiki.jp/flashair-dev/d/Lua%3aIFTTT%a4%ce%a5%c8%a5%ea%a5%ac
posted by gpsnmeajp at 18:09| Comment(0) | TrackBack(0) | 未分類

2017年04月17日

電子工作er向け301Zメモ

SoftBank 301Zを購入した。
まだ届いていないが、現在のところのメモ。

ソフトバンクのプリペイドは、
・基本料金かからない。
・3000円で60日。
・その後、360日着信専用で使用できる。
・つまり、着信専用として使うなら、月額214円ほどで維持できる。
・ちなみに、3000円で60日は、積み上げられるので、
 先に3000*6=1万8千円支払えば、360日通話通信可能にもできる。
 この場合月額1500円。ホワイトプラン契約したほうが安い。
 (チャージ上限は6万円)
・1年以内に解約すると2万円。ただし、1年放っておけば無料で解約される
・着信専用期間は、フリーダイヤルでも発信不可。警察等には可能
・SMSの送信はメール定額が必要。しかも他社に送れない。
 通常のメールは他社へも送れる月額約250円だが、
 その前にプリペイド期限が切れるため、メール専用でも月1500円かかることになる。
・SMSの受信は着信専用含みいつでも可。これは他社からのも受信可能。
・2回線まで持てる
・残高不足でメール定額が解約されても、電話番号が生きてるうちは
 アドレスが残っている。

301Zは、
・プリペイド専用に設計された端末。(ホワイトプランでも使えるが)
・オンラインストアで約6500円。うち4000円は初期チャージなので、
 実質2500円の端末
・本気のガラケー。というか、古い携帯電話。
・バッテリーが公称680時間(28日)持つ。ただし緊急速報メールを切った場合らしい。
・microUSB端子(500mA)で充電できる。
・着信音はプリセットされたものしか使用できない
 (しかもマナーモードの設定から編集に入る謎仕様)
・音楽はAMR形式かあるいは3GP形式に変換する必要がある。
・画像はjpgにしか対応していない
・カメラはおまけ
・ブラウザはついてるが、プリペイドでは使えない
 (メールの設定時には使えるらしい)
・USB接続ができるらしいが、まともに機能しない模様
・イヤホン端子は3.5mmで、OMTP規格。イヤホンマイクのボタンが動くかは不明
・実は壁紙は変更できる
・RTCによる自動電源ON・OFFの機能がついている
・簡易留守電がついている
・自動応答機能がついている

これらから、自動応答を有効にし、イヤホンマイク端子に
装置をつなげておけば、かなり安価な遠隔制御装置に使えると考えた。

着信専用なら月額250円程度で維持でき、操作もメインの携帯から
通話定額時間内を利用してやれば、ほぼタダで
携帯電波の届く範囲内ならどこからでも制御できる。

バッテリーの持ちの良さと、RTCによる電源オンオフを使えば、
屋外に設置、小型の太陽光電池で運用もできるだろう。

いわゆるIoT系のセキュリティや処理能力もいらない。


*追記
届いたので、色々とチェックしてみた。

作りは安っぽい、というより、懐かしい感じだ。
メールを開いたりするのに多少時間がかかるのはお愛嬌。
メールの添付ファイルに300KB制限があったりするのは、久々に思い出した。

イヤホンマイクだが、思っていたのと半々くらいの動作をする。
・着信中ボタンを押すと応答。会話中に押すと切断。
・待受中ボタンを押すと、バックライトが点灯するが、それ以外何の動作もしない。

というわけで、テレコントロールには使えるが、自動通報には使えないことがわかった。
せめて待受中、スピードダイヤルに掛けるとか、リダイヤルするくらいの挙動を
してくれてもいいと思ったのだが。

まあ一応、スピードダイヤル機能があるので、サーボモーターでダイヤルパッドを
長押しさせれば自動通報可能といえば可能である。
全部のボタンに同じ発信先を設定しておけば、とりあえずどれか長押しすれば発信されるので。

それと、携帯電話のDTMFの仕様を初めて知った。
iPhone側では長押しすると、ポーと言った感じで鳴るのだが、
携帯側では、ポッ、と切れる。音は圧縮された濁った音なのだが。
これは、交換機側で音を生成しているせいだろうか?

あと、「マナーモード」の項目が着信音の設定という謎があったのだが、
英語モードにすると「Sound Profile」になったので、納得。
なんでこんな訳し方したし。「サウンド設定」で良かっただろう。
昔のパナソニックの携帯みたいに。
posted by gpsnmeajp at 17:14| Comment(0) | TrackBack(0) | 未分類

2016年11月27日

ポータブック(XMC10)の初期セットアップ

2万円台に値下がりしているポータブック XMC10を思わず購入してしまった。

以前ヨドバシカメラで触っていて、気になっていたマシンであり、
値段を見て諦めたのが、この値段になるとは思っていなかった。

きちんと設定すれば騒がれているほど使い勝手も悪くないマシンであり、
個人的に初のSSD & 小型 & ファンレスマシンなので期待している。

もっとも、使うならきっちりチューンしてから使いたいタイプの人間なので、
休日丸一日使ってセットアップしたのでその記録をとっておく。

噂によれば、クリーンインストールすることで安定するらしい。
そもそも、空き容量の都合でAnniversaryUpdateが素では適用できないらしい
(USBメモリ等を挿せば行けるらしいが)ので、だったら、AnniversaryUpdate版を
クリーンインストールしたほうが何かと安心だろうと考えた。

SDカードスロットは、他の人のおすすめどおり
サンワサプライ Mac用microSDカードアダプタ ADR-MMICRO
を購入。たしかにピッタリのサイズである。

*セットアップ

初期設定
 →特に何もなし。Windows10の標準的なセットアップ。
  クリーンインストールするので適当にセットアップ。

  セットアップ終了後、電源設定を変更し、
  スリープしないようにすることをおすすめする。
  というのも、時間かかる作業が多い上、BIOSアップデート時に
  スリープしようものなら大惨事になりかねない。

  下手に不安定になられても困るので、自分のときは
  クリーンインストールまではWi-Fiには接続しないで行った。

回復ドライブの作成
 →回復ドライブはとりあえず作成しておかないと、後々失敗した時のダメージが大きい。
  SDカードは使えない(ウィザードで出てこない)ようなので、
  USBメモリか、USBカードリーダーを用意しておくこと。
  (しかし、なぜか手持ちのSDXCリーダは相性が悪いらしく認識してくれない)
  ひたすら放っておき、概ね3時間ほどかかった。

ドライババックアップ
 →先人に従い、C:\Windows\System32\DriverStoreをUSBメモリにバックアップする。
  これがないと、たしかに大変そうである。
  データ量が多いので、そこそこコピーには時間がかかる。
  クリーンインストール直後はSDカードが使えないっぽいのでUSBメモリに入れること。


  追記: バックアップ取れなかった人は、ドライバはSurface3 WiFiモデルの
   ドライバセットが使えるらしい。(未検証)
   http://d.hatena.ne.jp/TAKETYON/touch/20160805

公式BIOSアップデート
 →公式のBIOSアップデートツールを使いアップデートする。
  3回くらいの書き換えが走るので、割と時間掛かる。

ライセンスキー取得
 →デジタル認証なので特に意味は無いのだが、
  一応Windows Product Key Viewerでプロダクトキーをとっておく。
  結果的に言えば不要であった。


*クリーンインストール

AnniversaryUpdateのクリーンインストール
 →別のPCで、公式のインストールメディア生成ツールを使い、
  セットアップ用USBメモリを作成。
  ポータブックに差し、F2キー連打でUSBブート。

  散々言われているのでご存知だとは思うのだが、
  本体のマウスやキーボードは使用できないので、
  USBハブにUSBメモリと、マウスと、キーボードを挿して挑むこと。

  ドライバがないせいで、Wi-Fi接続が使えない
  →Microsoftアカウントが使えない になるので注意。
  監査モードで組み込むなり、USB-LANでも挿せば行けるのかもしれない。

ドライバのインストール
 →無事セットアップが済んだら、デバイスマネージャを開き、不明なデバイスを片っ端から
  バックアップしたDriverStoreを指定して認識させる。
  Wi-Fi、キーボード、マウス、音声、SDカード、Bluetoothなどは
  すべてこの段階で認識される。

  再起動して、増えたらまたそいつらも突っ込むこと。

  また、何の気なしに認識されているディスプレイアダプターも
  DriverStoreで更新するのを忘れずに。
  これだけやたら時間が掛かるが、Intel HD Graphicsで認識する。

  これが済んだら、USBハブは引っこ抜いて良い。

プリインストールappの削除
 →最初から入っている例えば「フォト」などを消す。
  どのくらい空き容量に貢献するのかは不明。
  ただ、片っ端からダウンロードしようとしていたので、多少は空くはず。
  Xboxアプリはシステムと結合されたらしく、削除できなくなっている。


facebook、minecraftなどの削除
 →Wi-Fiに接続すると色々入ってくるので、片っ端からアンインストール。
  スレによれば、Minecraftはそこそこ遊べるらしい。

公式ドライバアップデート導入
 →キングジム公式のドライバアップデートを適用。
  自分のときは、Wi-Fiしか適用できなかったが...?

電源設定、「退席中である事を〜」の解除
 →スリープの設定などもクリーンインストールでもとに戻ってるので、
  またスリープしないように直す。
  「退席中であることをデバイスが認識しているときに電力を節約する」は、
  調べる限り不味い挙動しかしないようなので解除。

Windowsアップデート
 →Windowsアップデートを一通り当てる。
  自分の環境だと2〜3時間くらいかかった。

Cortanaを止める
 →お好みで。

その他カスタマイズ
 →視覚要素をパフォーマンス優先にしたり
  (アニメーションは切らないほうがいい。
   アップデート時などの実行中表示も消えるため、フリーズしたかと思うことになる。)
  マウス速度を「左から3番目」にしたり。

1GBを復元ポイントに割り当て
 →復元ポイントなしは流石に不安なので、ここで1GB分割り当てた。
  意味があるかは不明。

追記: ディスク暗号化の解除
 →ディスク管理で確認すると、なぜかディスクが暗号化されていたので解除。
  ただでさえ圧縮しているのに、暗号化するとさらに重くなるであろう。
  暗号化用モジュールと、携帯機であることから、自動で有効になったか。

  設定→システム→バージョン情報→デバイスの暗号化 
  にて「オフ」にすると解除される。

*空き容量の確保

ここから、空き領域確保を行う。WindowsUpdateが終わってから行うこと。
結果として、6GBほど空く。28GB中の6GBなので、21%ほど空くことになる。

この時点で空き容量: 10.7GB
dismによるWinSxsのクリーンアップ
 →WindowsUpdateなどの情報や、不要なドライバ情報を整理してくれる。
  しかし、100%が2回出てから、フリーズしたようになるので注意。
  ひたすら放って置くこと。じりじりと空き容量が増える。

  一度、エラー2で終了するが、もう一度行うと20%くらいで正常終了となる。
  2.2GBほど空き領域が増える。

  Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

この時点で空き容量: 12.9GB

ディスククリーンアップ
 →おなじみのディスククリーンアップ。
  Windowsの販売デモ用ファイルなんかがある。
  といっても、環境にもよるのだろうが、0.1GBくらいしか減らない。

この時点で空き容量: 13.0GB
NTFS圧縮
 →CドライブにNTFS圧縮をかける。
  2時間半かかるという表示だったが、実際には1時間ちょっとで終わった。
  1.7GBほど空く。

この時点で空き容量: 14.7GB
compactos
 →Windows10から導入された、システムファイルの圧縮機能を実行する。
  30分〜1時間ほどかかる。

  これで2.1GBほど空き領域が出来る。
  これは持続的に作用するらしいので、WindowsUpdateでの
  増加を抑える効果もあるのでは。

  compact /CompactOS:always
この時点で空き容量: 16.8GB (使用量11GB)


*SDカードの利用

SDカードHDD化
 →めっちゃくちゃアクセス遅い(書き込みが恐ろしく遅い)ので取りやめ。
 →VHDを用いて、SDカードを物理ドライブに見せかける。
  生成後、500MB以上の空きがないと不安定になるらしいので注意。
  1時間半ほどかかった。


  作成後は、SDカードをSドライブに変更。
  遅延書き込みを有効にし、性能アップを期待する。

  VHDをフォーマットし、圧縮を有効。Dドライブに割り当て。
  VHDマウントツールを用いて、起動時に自動マウント。

  VHDマウントツール

  タスクスケジューラの設定の際、アカウントをSYSTEMにし、
  「スタートアップ時」と「ログオン時」、「ワークステーション アンロック時」
  の両方をトリガにしておくと安心。
  -bootの効果で、既にマウントされている場合は無視されるし。

  その後、レジストリからSドライブを非表示(0x40000)に設定。
  HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\に
  Explorerキーを作り
  HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
  そこにDWORDで値:NoDrivesを作り、0x40000を設定して再起動。
  すると、ExplorerからSドライブが見かけ上消える。

  もちろん、見かけ上なので、S:\を直接叩くと開けるし、

  ディスク管理にも存在する。他のアプリケーションからもアクセスできる。
  容量パンパン赤ゲージのSDカードを見たくない人専用である。


  参考:マイコンピュータのドライブを非表示にする - 日経トレンディ

SDカードのCドライブ組み込み
 →NTFSを適用した上でさらにVHDを適用すると、
  (設定が悪いのか)数kb/secとかいう超低速になったので、
  代わりに、「空のNTFSフォルダにマウントする」で、SDカードをCドライブに割り当てた。
  一応、これでリムーバブルメディアへインストールできないタイプのソフトウェアも
  インストールできるようになるらしい。

  参考: http://funlike.org/wp/archives/11693

  SDカードをSドライブに割り当てるのはそのままにしておき、
  Sドライブを非表示にするのもそのままとした。

ユーザーフォルダ(デスクトップなど)の移動
 →これは移動するだけ。

画面調整編
ポータブックって妙に目疲れない?

nyoiscreenの導入
 →XMC10の画面は、ギラついている上に、最低輝度でもまだ明るい。
  メインPCの最低輝度より明るいため、同等に下げる効果を狙ってnyoiscreenを導入。
  これはカラーフィルタであり、ソフトウェア的に画面の輝度を下げる効果がある。

Intel HD Graphicsでの調整
 →どうみてもこの液晶は青が強すぎる。
  ただでさえ16bitカラーで色が悪い液晶をさらに悪くするのもあれだが、
  青の明るさを-60、緑と赤の明るさを+3に設定。
  個人的に見やすい色に変更。

スピーカーのプロパティ
 →このPCの音、妙に高音ばかりのスカスカした音だと思わないだろうか。
  なんと、Intel HD AudioのSystem Effectsが有効になっており
  こいつがステレオ感を無駄に上げている。
  オフにすると、少しこもった低音が出るようになる。

アプリケーション導入編
Chromeの導入
 →メモリ不足環境では嫌われがちのChromeだが、
  自分が主にGoogle関係のサービスをメインに使うので導入した。
  Edgeでもいいかと思ったが、崩れてしまうため。
  
  導入先はCしか選べないが、キャッシュ先を
  先程フォルダにマウントしたSDカードに変更した。

  シンボリックリンクを貼る手法である。
  ※SDカード上にキャッシュを配置するのは、本来は悪手である。
   (低速化するため)。RAMDISKがいいのだが、RAMに余裕が無いのでこうするしかない。

office365の導入
 →office365は、インストールしようとするとフルセット5GBくらい入れようとしてくる。
  SkypeやらAccessやらはポータブックには不要だろう。
  以下のconfiguration.xmlを保存し、Office 展開ツール付属のsetup.exeに食わせると
  Word、Excel、PowerPoint、Outlookの標準セットのみ(1.02GB)でインストールできる。

  なお、インストール先は強制でCドライブである。

  注意:  Product IDは入れる対象のライセンスにより変化する。


 
   
     
     
       
       
     
       
     
 



VisualStudioの導入
 →Dドライブ(仮想VHDのSDだった)を2GB、Cドライブを5GB食う(強制)な上に
  インストールにまる一日程かかり(環境により)
  アンインストールしてもゴミをたくさんおいていくので、
  入れようとしないほうが良い。
  そういうマシンではない。

 →入れてしまったら
  「@pnp0a03氏: VS2013-2015の場合、VS根こそぎアンインストーラというのを
   MSのエンジニア氏がGitHubに上げています
   機会がありましたらどうぞ 僕は一度試しましたがきれいさっぱり消えました
   https://github.com/Microsoft/VisualStudioUninstaller
  https://twitter.com/pnp0a03/status/803568494478401536


休止状態を使えるようにする
 →なぜかポータブックは(クリーンインストール後だけかもしれないが)
  スリープはできても休止状態にできない。

  powercfg /a で確認すると、
  「この休止状態ファイルの種類では休止状態はサポートされません」と
  言われるので、管理者権限のあるコマンドプロンプトで以下を実行。

  powercfg /h /type full
  powercfg /h on

  これで、電源設定に休止状態のチェックボックスが現れるようになる。
  参考: http://kokoore.com/windows10-hiber  

  ちなみに、原因かと思ってInstant Goをレジストリで無効にしたところ、
  電源設定に、隠蔽されていた各種省電力設定が現れたので、
  いじりたい人は試してみるといいかもしれない。


Bluetoothネットワークの設定
 →iPhoneなどのBluetoothテザリングが使える機種を持ってる場合、
  端末操作無しでテザリング開始でき、省電力なBluetoothテザリングの
  設定をしておくと気軽に使えて便利。

  Bluetoothテザリングを有効にした状態でペアリングし、
  コントロール パネル\すべてのコントロール パネル項目\デバイスとプリンター を開き
  Bluetoothデバイスを右クリックして、「接続方法」→「アクセスポイント」をクリック。
  
  というのも面倒なので、デスクトップにデバイスのショートカットを作っておくと
  右クリック→クリックの2操作だけで接続できる。

  参考: http://mobamen.info/pc/887
posted by gpsnmeajp at 20:37| Comment(2) | TrackBack(0) | 未分類

2016年10月08日

自作基板用にPS/2キーボードを買った

PS/2キーボードを購入した。



サンワサプライ PS/2キーボード SKB-L1 サンワサプライ via amazonJP (682円)
サンワサプライ SANWA SUPPLY SKB-L1 [PS/2キーボード] - ヨドバシ.com (750円)
見ての通り、値段がかなり安い。それでいて、今時PS/2専用である。

もっとも、自分はネットショップで買う時間ももったいなかったので、地元の電気店で850円で購入した。
安い割に、キータッチも悪くなく、アプリケーションキーまでついている。
そして綺麗だ。中古の200円のPS/2キーボードを買おうか迷ったので、尚更きれいに見える。

なぜ今更PS/2キーボードなんかを購入したかというと、とある基板にキーボードを繋ぐためである。

その基板ではTTBASICが動いているが、シリアル入出力では使いにくいので、画面とキーボードを繋いで使うのだ。

Arduino互換機版で作成しているため、Arduino PS/2ライブラリ(の日本語キーボード仕様版)で動いてくれる必要がある。
このライブラリ、簡単のためにPS/2キーボードのセルフテストや初期化をやっていないらしく、
一部の変なキーボードや、USB/PS/2兼用だと変な反応を示す。(俗に、ichigojamで使えないキーボード)

このキーボードは問題なく動作したことを記しておく。
posted by gpsnmeajp at 23:26| Comment(0) | TrackBack(0) | 未分類

2016年10月04日

Sound Packet


マイクからの音量を監視し、しきい値以上の大きさの音を検出したら、
外部サービスへ通知するツール、作りました。

別室のラジコンバッテリーの充電が終わるのを待つのが面倒だったので、
こういうツールがないかとネットを探し回るも、全然見つからず。

スマホに通知するために簡易ツールを作ったのですが、
せっかくなのでネットに上げたら誰か使うことあるかな、と思い、
見栄えを整えて上げた次第です。

ダウンロードはこちら
https://sites.google.com/site/gpsnmeajp/tools/sound-packet
posted by gpsnmeajp at 23:39| Comment(0) | TrackBack(0) | 未分類