Sigfox使い始めた

ee9king に投稿

やっと使い始めたのに、Sigfox経営難で破産しているね。。段階的にメッセージの保管期間も短縮される予定だそうです

https://www.kccs.co.jp/sigfox/blog/technical/2022/0225/

う〜っむ、何かやろうとするといつもこれだな、旬な時すぐ飛びついてやらないからだね。まぁ、そういう技能がないからだという話もあるけど。スイッチサイエンスにはたくさん在庫があるようなので、購入して登録、1年間の無料期間ということになっている。

mbedから接続してAT$SF=なんかpayloadを送信。。sigfoxクラウドで見ることはできた。

で、コレをどうすんだということだが、とりあえず、macに入っているphpとApacheで、urlを取得してみた。

<html>
<head>
	<title>PHP TEST</title>
</head>
<body>
<?php 
date_default_timezone_set('Asia/Tokyo');

$data = file_get_contents('https://username:password@api.sigfox.com/v2/devices/deviceid/messages');

$data_json=json_decode($data,true);

var_dump($data_json);
echo "<br/>";
$payload  = $data_json["data"][0]["data"];
$timedate = $data_json["data"][0]["time"];
echo "<table border=\"1px\">";
echo "<tr>";
echo "<td>payload</td><td>".$payload."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>time</td><td>".date("Y-m-d H:i:s",$timedate/1000)."</td>";
echo "</tr>";
echo "</table>";

?>
</body>
</html>

sigfoxのAPIでアクセスする時、Basic認証を突破しないといけないため、urlにusername:passwordを書いてる。usernameとpasswordは、sigfoxのデバイスのGroupタブから作れる。deviceidは自分の登録したデバイスID(製品についてるSIGFOX ID)

phpにjsonをデコードしてくれる関数があるのでそれを使ってpayloadを取り出した。一応うまく表示されている

timestampはUnixタイムスタンプだが1000倍されているようです、msオーダーということですが。

さて、このphpの処理をmbedでやらせたいと思っています。で、現在mbedで接続してるデバイス側をMSP430と電池で駆動できるようにして1日数回送信するみたいな仕組みにしたら面白いかな、なんて思ったり、あと、自分的には、これはLoRaをやるための1ステップなので、ある程度できたら、そっちへ移行したいなと思ってる。

ところで、このjson、昔xmlって言ってたやつ?

FifoxでAPIのURLを開くとタグ表示してくれる。

{
"data":[
  {
  "device":
     {"id":"deviceID"},
  "time":1652101795000,
  "data":"412aeec1",
  "rolloverCounter":0,
  "seqNumber":185,
  "rinfos":[],
  "satInfos":[],
  "nbFrames":3,
  "operator":"SIGFOX_Japan_KCCS",
  "country":"JPN",
  "computedLocation":[],
  "lqi":2
  },
], ・・・

"paging":
  {
  "next":"https://api.sigfox.com/v2/devices/deviceID/messages?limit=100&before=1652024692000"
  }
}

 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。