[転載禁止] ARM mbed【IoT】©2ch.net

このエントリーをはてなブックマークに追加
1774ワット発電中さん
2774ワット発電中さん:2014/10/27(月) 23:01:13.13 ID:gsVaST/P
新規スレか、だれも居ない
3774ワット発電中さん:2014/10/28(火) 01:29:59.45 ID:MKf4q1Vj
スレたてた人が不在なら何の話題をしていいやら?
4774ワット発電中さん:2014/10/28(火) 08:24:53.42 ID:UzDHLUZo
誰かmbed基板リストをうp
5774ワット発電中さん:2014/10/29(水) 00:16:34.80 ID:0KMagVx/
>4

本家サイトだけで十分だよ
http://developer.mbed.org/platforms/
6774ワット発電中さん:2014/10/29(水) 21:48:50.78 ID:Zh8ACj4w
       __________
     /━━━━━━━━━ \
     |┃| ̄ ̄|. 〇 〇 [大月]┃|
     |┃| ̄ ̄|| ̄ ̄ ̄ ̄ ̄ ̄|┃| プオーン!!!
     |┃|__||______|┃|
     |┃               JR ┃|              
     |┗━━━━━━━━━┛| \('A`)/ ミ     
     |   ━━  ━━  ━━   |   ( )  ミ
     |     [中央.特快]    |   └└ミ
     |        \_/        |
     |  〇     ━━━   〇  |.   ┌────────────
     |___________|.   │
      │     │[=.=]|     |..   │
      └─────────┘   │
        /         \    │
7774ワット発電中さん:2014/11/05(水) 08:22:23.41 ID:NtoxXi5U
mbed osって何?
8774ワット発電中さん:2014/11/05(水) 19:36:42.99 ID:o4Y40NQw
ぐぐった?
9774ワット発電中さん:2014/11/05(水) 21:45:10.12 ID:HWxJGX/e
>>8
MONOist見たけど、FreeRTOS比でTCP/IPスタックが付く位しか、差異が分からん。
後発でわざわざやるからには、何かあるんだと思うのだけど。
10774ワット発電中さん:2014/11/06(木) 05:01:38.57 ID:mtPH9lNj
OSの標準化だよ
11774ワット発電中さん:2014/11/06(木) 13:44:29.46 ID:oYUf2EJq
>>6
中央線が良く止まるのは、おまえのせいだ!
12774ワット発電中さん:2014/11/06(木) 22:24:26.32 ID:16ZHOGYO
>>10
どうかなぁ〜?

国内で標準だった iTRON、今は見る影も無いし。
海外は各ベンダーのオリジナルOSに、サードパーティーからわんさか。
ベンダーがどれだけ本気になるか…。

ただ、CMSISを先に出したのは、ARM社の戦略だったんだな。
いつの間にか、外堀が埋まってるし。
13774ワット発電中さん:2014/11/16(日) 10:31:54.14 ID:33TvGZZk
STmicroのNUCLEO-F411REをポチった。これでmbedデビューしてみるよ。
14774ワット発電中さん:2014/11/16(日) 16:42:04.36 ID:PCBGN4ar
>>13
がんばれ!
15774ワット発電中さん:2014/11/16(日) 17:00:35.60 ID:33TvGZZk
>>14 お、おう、ありがと。まさかの激励されちゃって、ちょっと感動した。
16774ワット発電中さん:2014/11/16(日) 21:44:44.65 ID:hjDEEhad
俺はNXP LPC1768にした。
Arduinoしようかと思ったんだけど、どうもあれはC言語とちょっと違うからやめといた。
17774ワット発電中さん:2014/11/16(日) 21:52:37.40 ID:lIH5ZcPm
>どうもあれはC言語とちょっと違う

まあC++だからC言語とはちょっと(どころではなく)違うけど、Arduinoのサンプル
プログラムなんかはArduino言語というC++を機能限定したサブセットの範囲で
組んでるからmbedよか初心者には易しい気がするが。
18774ワット発電中さん:2014/11/16(日) 22:08:24.02 ID:D6ceMbvk
Arduino言語といいつつ、中身はただのC++だからなぁ
つーか、mbedもC++なんだけどな…
まあ、Cがわかればどうにでもなるよ
19774ワット発電中さん:2014/11/16(日) 23:15:29.03 ID:hjDEEhad
そだね。今にして思えばそんなに難しい制御はやらないからどっちでもよかったけどね。

Arduinoのサンプルコード見て「ちょっと違うな」と思ってmbedに気持ちが傾いちゃったのだ。
こっちの方が正統派っぽいかなって思って。
まぁ最終的にはここら辺を読んでから決めたんだけど。
ttp://developer.mbed.org/users/okini3939/notebook/mbed_vs_arduino/
20774ワット発電中さん:2014/11/17(月) 01:50:18.14 ID:eqmg6Ylt
これ使ってQuadCopter飛ばせる?
21774ワット発電中さん:2014/11/22(土) 23:06:52.90 ID:jhGrw1VS
mbedのサイト内を検索すると作製事例らしきものは出てくるが…。
22774ワット発電中さん:2014/12/06(土) 21:06:50.99 ID:cC3ep95e
>>19
サンプルコードはどっちかっていうとCという観点でみればArduinoのほうが正統派だと思うけど
23774ワット発電中さん:2014/12/08(月) 22:31:36.63 ID:s/qEo2tw
Arduinoのサンプルコード見てmain関数が見あたらなかったから
「ありゃ?これはC言語風の何か別物なのか」と思ってしまったのだよ。
24774ワット発電中さん:2014/12/09(火) 00:30:41.66 ID:9OkgU5T1
main関数はライブラリーの中にありまぁす
int main(void)
{
init(); //割り込みやらデバイス初期化
setup(); //userプログラム
for (;;)
 loop(); //userプログラム
return 0;
}
25774ワット発電中さん:2014/12/09(火) 23:34:02.24 ID:UGWFmkTG
どこかにスタートアップルーチンみたいなものはあるのだろうと思ってたけど。
それを知ったのはmbedを使った試作品ができあがってからだった。

いつも16bitのマイコンで開発してた俺にとって32ビットARMマイコンと
オンラインIDEの組み合わせはやたらかっこよく感じた。
たいした制御をやってるわけじゃないけど開発してて久々に楽しかった。
26774ワット発電中さん:2015/01/21(水) 17:41:48.78 ID:aIk8NQWt
Linuxのユーザー空間メインで仕事してて組み込み詳しくないのですが、勉強でやってみようと思ってます

これを使ってblutoothとかwifi繋いでみたいのですが、処理量がよくわからなくて、どの石にしようか悩んでます
個人で手に入る無線基板だとstm32とか載って技適通してるので最低限の機能は実現済みで、アプリケーションcpuとしてモデムくらいと見るのがいいですかね?
転送量も分あたり数百キロ程度であれば、cortex-M0でも十分なのかなあ…
27774ワット発電中さん:2015/01/29(木) 15:08:24.94 ID:W4z9cMRp
HRM1017買ってBLEやって、Nanoもらって、専用基板作りたくなってきてる<- イマココ
28774ワット発電中さん:2015/02/03(火) 09:05:57.48 ID:+pMGymTW
>>26
処理量?
データ量 × 必要なクロック数
で必要なCPUパワーを見積もるのが最初

次がDMAで処理量を減らせないか考える
29774ワット発電中さん:2015/02/04(水) 11:12:30.19 ID:PRaz8gfY
mbedの初心者丸出しの
質問ってここに書いてもおk?
30774ワット発電中さん:2015/02/06(金) 20:21:14.62 ID:k/loH5i3
いいんじゃね??
31774ワット発電中さん:2015/02/06(金) 21:07:49.61 ID:LjCf7tWh
>>28
遅くなったけどトンクス
32774ワット発電中さん:2015/02/16(月) 13:56:55.38 ID:Mr3fUiZI
ネットワークオーディオもどきをmbedで作りたくてあれこれしてるんだけど
テストとして公式のサンプルプログラムを触ってて理解できない事があるんだけど
(省略)
char out_buffer[] = {72,101,108,108,111};

Endpoint echo_server;
echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
sock.sendTo(echo_server, out_buffer, sizeof(out_buffer));

char in_buffer[256];
int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));

in_buffer[n] = '\0';
printf("%d\n", in_buffer);

sock.close();

eth.disconnect();
while(1) {}
}
で、サーバー側はHelloと表示されるんだが
返ってきたクライアント側では268466888と表示されてしまう。
printf("%s\n , in_buffer);とすればちゃんとHelloと表示される。
どうすれば数字のまま出力されるんでしょう?
33774ワット発電中さん:2015/02/16(月) 16:14:54.48 ID:0XqRJDE6
>>32
>char in_buffer[256];
>int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
>
>in_buffer[n] = '\0';

わかっててやってんの?
34774ワット発電中さん:2015/02/16(月) 17:35:40.44 ID:Mr3fUiZI
>>33
わかっててやってません。
とりあえず
in_buffer[n] = '\0';
を削除してみてもやっぱり268466888なんですが。
マイコン等を触りだしたのが最近で、プログラム自体も最近はじめたので
アホみたいに素人くさい間違いなんだとは思いますが。
int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));

in_buffer[n] = '\0';
というのは何個目の配列にヌル文字を代入するのか、という部分だと解釈してあってますよね?
35774ワット発電中さん:2015/02/16(月) 18:02:34.58 ID:0XqRJDE6
>>34
Amazonとかで評判のよさげなCの入門書1冊買って読むとかすることをお勧めするよ
36774ワット発電中さん:2015/02/16(月) 18:22:48.09 ID:6uhDT5i4
>>34
エラーの場合は-1を返すって書いてなかった?
37774ワット発電中さん:2015/02/16(月) 19:43:17.07 ID:XtvqHkXL
>>32
printf で %d 使ってる行がなにしてるのかわかってる?
3832,34:2015/02/16(月) 22:07:54.83 ID:2JGAaV1i
ID変わってますが、32および34です。
>>35
実はもう一冊読んでたりします
>>36
エラーなんですか
>>37
一応は。

えーとつまり
変換指定子が間違ってますよ
という事でおkなんですかね?
int型じゃないんだから
%dでやりたいなら
一度キャストしろよ、という事なんでしょうか?

書いてて思ったんですが、これビッグエンディアンとリトルエンディアンとかで
もう一度派手に躓きそうな気がしてきたw
あとサークルバッファでも。
手元にmbedが無いので明日また悩んでみます。
あざーす
39774ワット発電中さん:2015/02/16(月) 22:15:02.61 ID:fqq6+Tin
>>38
エラーの時配列の外に書きにいかないかな?

サークルバッファは +1 してand とればよろし
40774ワット発電中さん:2015/02/16(月) 22:26:23.86 ID:0XqRJDE6
>>38
>実はもう一冊読んでたりします

書かれてることを理解してないかハズレの本を買ってしまったかのどちらかだわ。
ちょっと今のあなたは何が分かってないかも分かってないレベルだからまずは人に訊く前に評価のある本でじっくり勉強するべき。
41774ワット発電中さん:2015/02/17(火) 01:08:51.61 ID:yFRTsSaV
>>38
in_bufferはアドレスだから、%dで出てるのは、そのアドレスの値

それを意図してるわけじゃないでしょ?

んで、あくまでもアドレスなので、キャストしてもアドレスが変化するわけでもなく、出てくる値はかわらない
4232:2015/02/17(火) 10:27:14.94 ID:L3yOYKiQ
>>41
あー
あーそうだよ。
やったわ、本での練習問題でやったわ
ポインタと似てるけど違うでしょ?っていう練習問題でやったよ
どこを勉強しなおすべきか分かったよ
ありがとー
4332:2015/02/17(火) 13:44:38.30 ID:L3yOYKiQ
質問するだけしておいて
結果を書かないのもアレなので
in_buffer[n] = '\0';

for (cnt = 0; in_buffer[cnt] != '\0' ; cnt++)
{
printf("%d ",in_buffer[cnt]);
}
printf("%s\n", in_buffer);
  }
と書いて、意図した通りに出来ました。
mbedじゃなくてCの初歩な質問だったのにレスしてくれた人はありがとう。
まぁ問題は、俺がやりたいのはADC通した音声データを別のmbedに送って
そこで音声を流すという物であって
今回やった事がなんの役にたつのかという疑問で頭がいたいですが。
道が遠いわ
44774ワット発電中さん:2015/02/17(火) 14:17:56.04 ID:KAFYTS5i
>>43
>in_buffer[n] = '\0';

これ大丈夫だと思ってる?
4532:2015/02/17(火) 15:02:09.64 ID:L3yOYKiQ
>>44
mbedのサンプルプログラムに書いてあるそのままなんですが
問題があるような使い方なんですか?
俺の認識だと
受け取ったデータの最後にヌル文字を入れている
で、%sでヌル文字のポインタを受け取る為に使っているという認識なんですが

ちな参考にした、というか触っていたのは
http://developer.mbed.org/handbook/Socket
のサンプルです。
46774ワット発電中さん:2015/02/17(火) 15:22:29.33 ID:KAFYTS5i
>>45
>mbedのサンプルプログラムに書いてあるそのままなんですが
>問題があるような使い方なんですか?

あるよ
4732:2015/02/17(火) 16:36:16.14 ID:L3yOYKiQ
んー
考えたけどわからん。
文字列を送る予定が無いので問題なさそうな気がするんだけども
気になるのでどういう事か教えてもらえますか?
48774ワット発電中さん:2015/02/17(火) 16:59:50.22 ID:KAFYTS5i
>>47
>んー
>考えたけどわからん。

考えが足らないんじゃないの
49774ワット発電中さん:2015/02/17(火) 17:09:02.73 ID:2BFUg0WR
やっべ
俺も何が問題かわかんね、やっべ
50774ワット発電中さん:2015/02/17(火) 17:13:33.93 ID:5ru/GQxF
>>47
39に答えが書いてある
51774ワット発電中さん:2015/02/19(木) 11:40:14.41 ID:VbhMR7d6
>>39
それ、バッファサイズが2のn乗という大前提がないと成立しませんから。
52774ワット発電中さん:2015/02/19(木) 13:23:24.40 ID:XPzDfifK
>>39
配列の外に書くのはエラーの時だけじゃないだろ。
53774ワット発電中さん:2015/02/21(土) 22:14:58.54 ID:9HA4E5Ve
n が 256 やエラーの -1 だった時、in_buffer で定義してある外に \0 を書き込んでしまうこと。
たぶん、そのサンプルプログラムはバッファぎりぎりのデータが来ないことを想定している、
もしくはサンプルだから気にしてないだけだと思う。

配列は 0 から指定分の数予約される。
char in_buffer[256];
なので、
アクセスできるのは 0 〜 255 まで。
int n = sock.receiveFrom〜
の戻り値は読み込んだバイト数なので、最大の 256 バイト読み込めば、 n は 256 。
つまり、アクセス可能な 255 から 1 後ろに \0 を書き込んでしまう。

まぁ、初心者だしとりあえずは>>39 の方法で
char in_buffer[256+1];
で、宣言し
int n = sock.receiveFrom(〜, 256);
にしておけばいい。
54774ワット発電中さん:2015/02/23(月) 18:48:48.02 ID:E/3XZPTW
よく考えると
自分が書いたわけでもないコードに
しかもサンプルコードにいちゃもん付けられて
しかも馬鹿にされ教えてくれないというw
酷えことしてるよなw
性格悪すぎるだろw

初心者のころなんて本で読んだ知識が
なぜか作る段階でスッポ抜けるなんて多々あるから
こんなもんだとは思うけどね
本家の掲示板の方は上から目線で説教されたあげくに何処其処の理解が足りてない
すら教えてくれないから、まだマシなんだろうけどもw
55774ワット発電中さん:2015/02/23(月) 19:03:24.94 ID:Os3w8m+A
おかしい箇所を指摘してくれるのは十分すぎるほどの親切だと思うがなあ。
初心者です分からないところがありますって相談なら、じゃあ勉強する助けをしてやるかってのは
相談者も望んでるとこなんじゃないかね。
物を作るプロセスを学ぶところはどうでも良くて完成品が欲しいって話なら、mbedなんて自分で
いじってないでどっかに外注でも出せばいい筈だし。
56774ワット発電中さん:2015/02/23(月) 19:50:47.29 ID:E/3XZPTW
>>55
この場合、問題は
自分が書いたわけでもない部分でって所じゃなかろうか
自分が書いた所だったら
まさしくその通りで、どこそこの理解足りてないぜ
そこ勉強しなおせよ
っていう方が嬉しい、じゃなきゃmbedなんて触らないしなw
今回の場合だと、俺なんかはいやソコじゃないっすとか思っちゃうな。
いやしかし、自分が想定もしていない問題点を教えてくれてるという点ではアリか?
でもまぁせっかく過疎ってるスレなんだし、もうちょっと優しくしようぜw
57774ワット発電中さん
mbed V3 のmbed OSってどこまで進んでいるの?
ライブラリがNode.jsのNPMスタイルになるらしいけれど、デベロッパー側の仕様は決まったのかな?