2016年8月25日木曜日

Axis network camera emulatorの使い方

ネットワークカメラをシミュレートするために、ごくたま~にAxis network camera emulatorを使うことがあります。
そのたびに同じことを調べているので、次はそんなことがないようにメモ。

SourceForgeからバイナリをダウンロードします。
ダウンロードしたファイルを解凍し、その中のstart_emulation.cmdを実行します。
start_emulation.cmdの中身は4行だけです。

set host_ip=127.0.0.1
set silent
rem set /MIN silent=/B
start "80" %silent% dist/AxisCamEmulator.exe -i %host_ip% -p 80 -v ./dist/jpeg_src -t ./dist/mjpegs

jpeg_srcフォルダにあるJPEGファイルから、

1600x1200
1280x960
1024x768
800x600
640x480
480x360
320x240
240x180
160x120

の9つのサイズのMJPEGファイルをmjpegフォルダに作成した後、指定されたポート番号で開始されます。

そして!
画像を取得するURLは

http://localhost/cgi-bin/video.cgi?resolution=1280x960

です。サイズの指定をいつも忘れてしまうんですよねー

またいつか、どこかで。

2016年8月19日金曜日

Visual Studio 2015でWeb APIを作る(続き)

前回の続きです。

下記のJSONデータをPOSTしてみましょう。
{
  "Name" = "AIMEK",
  "Age" = 17
}

Postメソッドの引数valueに文字列が渡ってくるのかと思いましたが、valueはnullでした。
public void Post([FromBody]string value)
{
}
そこで、下記のクラスを作成します。
public class User
{
    public string Name { get; set; }
    public int Age { get; set; }
}
Postメソッドの引数をUserクラスに変更してみます。
public void Post([FromBody]User value)
{
}
すると、JSONデータがUserクラスにバインドされ、各プロパティに送信された値がちゃんと入っています。

ただ、送信されるデータごとにクラスを作成するとクラスが増える一方ですよね。
このような使い捨てのクラスであれば、匿名クラスを定義し、デシリアライズすることもできます。
また、匿名クラスで返してやれば、レスポンスとしてJSONデータが返ります。
public object Post([FromBody]object value)
{
    var type = new { Name = string.Empty, Age = 0, };
    var user = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(value.ToString(), type);
    return new { Result = 0, Status = "Success", };
}

またいつか、どこかで。

2016年8月5日金曜日

Visual Studio 2015でWeb APIを作る

JSONデータをやり取りするWeb APIをVisual Studio 2015で作成しています。
その方法をメモ。

新規プロジェクトを作成します。


テンプレートを選択します。
「Empty」を選択し、「Web API」にチェックを入れます。
(Getting Started with ASP.NET Web API 2 (C#)にも書かれていますが、「Web API」テンプレートを選択すると、もれなくMVC関連ファイルもついてきます。画面がなければ「Empty」で十分です。)


コントローラーを追加します。



「読み取り/書き込みアクションがあるWeb API 2 コントローラー」を選択します。


こんな感じでソースが自動生成されます。
public class DefaultController : ApiController
{
    // GET: api/Default
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }
 
    // GET: api/Default/5
    public string Get(int id)
    {
        return "value";
    }
 
    // POST: api/Default
    public void Post([FromBody]string value)
    {
    }
 
    // PUT: api/Default/5
    public void Put(int id, [FromBody]string value)
    {
    }
 
    // DELETE: api/Default/5
    public void Delete(int id)
    {
    }
}

JSONデータのやり取りは次回。

またいつか、どこかで。

2016年7月29日金曜日

マネタイズいろいろ



お久しぶりです!

スマートフォン向けアプリを開発していていつも悩むのがマネタイズです。
有料アプリ、アプリ内課金、月額課金、広告とか。

いろいろありますがアプリ内に広告を出すのが一番手っ取り早い気がします。

私は個人的にiOSアプリをいくつかリリースしていて、AdMobの広告を表示するようにしています。

広告を表示するアプリをリリースしたことがある方には分かってもらえると思うのですが、
アプリをリリースしたら「自分で毎日広告タップしたら収入になるんじゃね?」とか考えちゃいます。

それで先日リリースしたアプリで実行したのですが。。。
なんとGoogleにバレて30日間アカウント停止のペナルティをくらってしまいました。。

広告でマネタイズを考えている人は注意してください!!
バレてます!!!!


それじゃまた。

2016年7月19日火曜日

組み込みLinuxのフォーラムに参加してきました。

はじめまして!
初投稿のよっしーです。

先日、大阪で行われた、

『OSAKA NDS Embedded Cross Forum #3』

に参加してきました。


現場でのデスクワークが主な業務なので、

こういったフォーラムに参加するのは久しぶりで、
なかなか新鮮な気持ちになりました。

内容については、リンク先に詳細が記載されていますが、
主に車載関連の組み込み技術について、関連する企業さんが、
業界の現状や、これからの事業展開、コアな技術の概要など、
様々な 内容の説明をされていました。

色々な話がありましたが、
車載業界は、これから2020年に向けて、
車の『自動運転』の実用化を目指しており、
『安全』『セキュリティ』というキーワードが、
多様に出てきていました。

これらのキーワードをクリアするためには、複雑化、多様化が避けれず、
今まで以上に質の高い技術が求められることとなります。

私も、組み込みLinuxでの車載機器開発に携わっている身ですが、
こういった業界の方針にマッチしたスキルを習得していかないと、
今後うまく生き残っていくことができないなぁ。としみじみ思いました。

それでは、また。

2016年7月16日土曜日

UOSフェアにこうべ避難ナビを出展しました。

こんにちは!

先日大阪の国際会議場で開催された「第28回ユーオス関西 IT POWER UP フェア2016」に
「こうべ避難ナビ」を出展しました!
ご来場いただいた皆さまありがとうございましたm(_ _)m



アイメックのブース


















デジタルサイネージ

















こうべ避難ナビ



















こうべ避難ナビ!スタイリッシュ!


















それじゃまた。

2016年7月8日金曜日

スマホアプリコンテスト開催しました!

お久しぶりです。


先日社内でスマホアプリコンテストを開催しました。


スマホアプリコンテストは今回初めてでどんな感じになるのか心配でしたが、
応募作品はどれもレベルが高く、とても充実したイベントになりました!

今回の応募作品はまだストアからダウンロードできないのですが、
ダウンロードできるようになりましたらこのブログでお知らせします!


優勝したY村氏
もうすぐパパです。
















それじゃまた。