タグ

組み込みに関するvccのブックマーク (134)

  • USBメモリ抜き差し動作も自動化、組み込み機器向け自動テストシステムの最新版

    USBメモリ抜き差し動作も自動化、組み込み機器向け自動テストシステムの最新版:日ノーベル Quality Commander 日ノーベルは、カーナビやスマホなど組み込み機器のソフトウェアテストを自動化する「Quality Commanderシリーズ」の最新版を販売する。ロボットハンドの動的切り替えに対応し、USBメモリの抜き差し動作も自動テストへ組み込める。

    USBメモリ抜き差し動作も自動化、組み込み機器向け自動テストシステムの最新版
  • ラズパイでChromebookを簡単自作、「ChromiumRPI」

    ChromiumRPIは「Chromium OS」のラズパイ対応版です。「Chromium OS」は米Google社が開発しているLinuxベースのOS「Chrome OS」のオープンソース版で、有志がラズパイへの対応を進めています。Chrome OSは「Chromebook」という省電力なノートPCにプリインストールされています。いずれのOSもWebブラウザーベースのユーザーインタフェースを備えているのが特徴です。

    ラズパイでChromebookを簡単自作、「ChromiumRPI」
  • LuaのC++組み込み方自分用まとめ - Qiita

    前にLuaを入門Luaプログラミングで勉強してたんですが、Luaの文法は分かっても肝心の組み込み方やコルーチン・メタテーブル等はサラッとしか書いておらず、結局どう使えばいいのやらサッパリ分からなくて挫折してました。 最近、Programming in Luaという公式の解説書を読んで、勉強し直してます。 さすが公式というだけあって、情報量が半端ない。 C++組み込み部分だけでも、自分用に備忘録を作っておきます。 ちなみに、ライブラリのリンクが一番手間取ったのですが、今でもよく分かってないので書きません。 Makefileでビルドしたのをリンクしても、↓のようなエラーが出てリンクできません。 ignoring file.../liblua.a, file was built for archive which is not the architecture being linked (x86

    LuaのC++組み込み方自分用まとめ - Qiita
  • Raspberry Pi 3のBluetoothでBLE Peripheral(bleno)を試してみる - Qiita

    まえおき ちょっとアプリの対抗として BLE Peripheral を実装(エミュレーション)する必要があったのだが、iOS/AndroidだとMACアドレス周りのセキュリティ考慮や、Android同士だと相性が出るという不治の病などがあって、スマートフォンでやるのは無理があるなぁと思っていた。 また、現場で実際にアプリのテストをやろうとしたりすると、Macのエミュレーションとかも、パラでやるのに向いていないのでなんだかなぁという状態だった。 「Raspberry Pi 3 Model B」発表のお知らせ https://raspberry-pi.ksyic.com/news/page/nwp.id/24 そんな折、Raspberry Pi 3先生にBluetooth 4.0/Wifiが内蔵されたということで、node.js/blenoあたりで実装すればハードの仕様差も少ないし調達も楽だし

    Raspberry Pi 3のBluetoothでBLE Peripheral(bleno)を試してみる - Qiita
  • わずか10ドルのLinuxマシン——Wi-Fi/BLEを実装した「Raspberry Pi Zero W」|fabcross

    Raspberry Pi財団は、Raspberry Pi発売5周年となる2月28日付の公式ブログで、「Raspberry Pi Zero」にWi-FiBLEをオンボード実装した「Raspberry Pi Zero W」を発表した。価格は10ドル(約1120円)だ。 Raspberry Pi Zeroは、2015年11月の発売以降(国内は2017年2月)、上位機種同等の機能をわずか5ドルの小型基板に詰め込んだ手軽さで人気を呼んでいる。 ただし、IoT用途などで無線通信機能を利用するためには、Pi Zero体よりも高価なUSBドングルなどの追加が必要となる。この課題を解決するためPi Zeroの実装を見直し、ロゴマークの部分に無線コントローラを追加したのがRaspberry Pi Zero Wだ。 Wi-FiBLEコントローラには、上位モデルであるRaspberry Pi 3 Model

    わずか10ドルのLinuxマシン——Wi-Fi/BLEを実装した「Raspberry Pi Zero W」|fabcross
  • PLCが人質に取られて脅迫される時代へ、IoTがもたらす産業機器の危機

    PLCが人質に取られて脅迫される時代へ、IoTがもたらす産業機器の危機:産業制御システムのセキュリティ(1/2 ページ) JPCERT コーディネーションセンターと経済産業省は「制御システムセキュリティカンファレンス」を開催。高度化が進む、制御システムへの攻撃の事例を紹介した。 JPCERT コーディネーションセンター(以下、JPCERT/CC)と経済産業省は2017年2月21日、制御システムのセキュリティの普及促進に向け「制御システムセキュリティカンファレンス」を開催した。稿ではJPCERT/CC 顧問の宮地利雄氏による講演「ICS(産業用制御システム)におけるセキュリティインシデントに関する動向」の内容をお伝えする。 JPCERT/CCは、安全なコンピュータ環境を実現するために、セキュリティインシデントに関する調整や連携を行うことを、基理念とした組織だ。国内組織や海外組織との連携活

    PLCが人質に取られて脅迫される時代へ、IoTがもたらす産業機器の危機
  • “CPU大国への道”を突き進む中国、ドローン分解で見えた懸念

    連載の前々回「まるで“空飛ぶプロセッサ”、進化する中国ドローン」で扱った中国DJIのドローン「Phantom 4」の追加情報を今回も掲載する。DJIのPhantom4には実に27個ものCPUが搭載されていることを報告した。今回はその具体例を紹介したい。 図1は、カメラ雲台(Gimbal)に採用される米Ambarellaのカメラ用プロセッサ「A9」のチップ開封の様子である。 A9チップは、映像機器関連で採用が多く、DJIのDroneのみならず、アクションカメラで有名な「GoPro」、ドライブレコーダーや監視カメラにも搭載されている。DJIは、このカメラプロセッサにソニーのCMOSセンサーを組み合わせてPhantom 4の雲台を構成している。 このチップは図1に掲載するように、仕様(内部ブロック図)が公開されていて、3つのCPUと、ビデオやイメージ処理を行うDSPから構成されていることが明ら

    “CPU大国への道”を突き進む中国、ドローン分解で見えた懸念
  • 子どもがいる家庭で使うRaspberryPi&Slack

    皆さんRaspberry Pi使ってますか?買ったけど使いみちが無くてほったからかしと言う方も多いのでは無いでしょうか。今回は、幼稚園~小学生くらいのお子様がいる家庭のリビングで使うRaspberry Pi(+ちょっとだけSlack)と言う内容です。電子工作はありません。 この記事は、家庭を支える技術 Advent Calendar 2016 – Adventar の13日目の記事として書きました。 色んな問題点 最近、子供が成長し写真や家族写真を撮らなくなった RasPi内の音楽再生をスマホで操作するのが面倒くさい 学校に出る時間など子どものルーチン的な事に関して毎日言うのが面倒 子どもに直接注意するのはエネルギー使う(宿題やったの?とか、自分の物くらい片付けて欲しいとか) 今日の予定や何ゴミかなど、スケジュールをいちいちスマホで見るのが面倒 と言うことで… 家ではこんな感じで使ってます

    子どもがいる家庭で使うRaspberryPi&Slack
  • RAMで命令を実行する方法

    まずはRAMでプログラムが実行できるか確認 マイコンによっては、メモリアドレスがコードエリア、データエリアに分けられています。データエリアではプログラム実行はできません。一部のマイコンは、データエリアにRAMが割り当てられています。そのようなマイコンでは、RAMでプログラムを実行できません。 例えば、ハーバードアーキテクチャで、データバスしかRAMに割り当てられていなくて、かつ、データバスからプログラムを実行できない場合などは、RAMではプログラムが実行できません。 まずはマイコンの仕様を確認しましょう。 記事で例としてあげるSTM32ファミリの場合は、ハーバードアーキテクチャですが、RAMでプログラムを実行することができます。 方法はさまざま 内蔵RAMにユーザーのプログラムをロードし、実行する方法は、マイコンごとに異なります。しかし、一般的には、次の2種類の方法に分けられます。 1.

    RAMで命令を実行する方法
    vcc
    vcc 2017/01/30
    ハーバードアーキテクチャで、データバスしかRAMに割り当てられていなくて、かつ、データバスからプログラムを実行できない場合などは、RAMではプログラムが実行できません。
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

  • 幻の白いカラスを追い求め、僕らはインドにたどり着く

    CMMレベル5の認定を受けたインドの会社に発注したはずが、品質が悪い。こうした悲劇がなぜ起こるのか? そのメカニズムを考えてみよう 前回のコラムで紹介したように、絶望的に不足している組み込み系ソフトウェア開発技術者を補うものとして期待されているのがインドなどへのソフトウェア開発の海外発注です。インドは、レベルの高いハイテク技術者を安価に大量に提供できる能力を備えており、まさに需要と供給がピタリと一致しているのですが、懐石料理の繊細な風味をカレー粉の鮮烈さで塗りつぶすように、両者がうまく融合した例はほとんど聞きません。今回は、この悲劇が起きるメカニズムについて考えてみます。 インドのソフトウェア開発会社が日でセールスを展開する場合、殺し文句として使うのが「ウチは、CMMのレベル5の認定を受けています」でしょう。“CMM(Capability Maturity Model)”とは、ソフトウェ

    幻の白いカラスを追い求め、僕らはインドにたどり着く
    vcc
    vcc 2017/01/26
    インドは、レベルの高いハイテク技術者を安価に大量に提供できる能力を備えており、需要と供給がピタリと一致しているのですが、懐石料理の繊細な風味をカレー粉の鮮烈さで塗りつぶすように、両者がうまく融合した例
  • まるで“空飛ぶプロセッサ”、進化する中国ドローン

    まるで“空飛ぶプロセッサ”、進化する中国ドローン:製品分解で探るアジアの新トレンド(11)(2/2 ページ) 「空飛ぶプロセッシング」 主にこの空間認識処理を行うのは、米Movidius(2016年9月にIntelが買収)のビジョンプロセッサだ。MovidiusのチップはGoogleの「Project Tango」(3次元認識技術)で採用されたことで一躍有名になった。その他にも、メイン基板には各種プロセッサやシステム制御のマイコンが搭載されていて、さながら「空飛ぶプロセッシング」という様相だ。 実際にテカナリエでは、ほぼ全てのチップを開封した。2.4GHz帯対応のコントロール通信、モーター制御のコントローラーIC、カメラ処理エンジン、ビジョンプロセッサのホスト、電池監視マイコンなど、全てのチップを開封した上で内部の仕様を調査した。結論から言えば、Phantom 4には、なんと27個もCPU

    まるで“空飛ぶプロセッサ”、進化する中国ドローン
    vcc
    vcc 2016/12/09
    2.4GHz帯対応のコントロール通信、モーター制御のコントローラーIC、カメラ処理エンジン、ビジョンプロセッサのホスト、電池監視マイコンなど、Phantom 4には、なんと27個もCPU(コントローラーを含む)が搭載されている
  • Unity — Throw The Switch

    CUnity is written in 100% pure C code. It follows ANSI standards while supporting most embedded compiler quirks. Portable Unity is equally happy running tests for an 8-bit microcontroller as it is a 64-bit processor on steroids. Expressive Unity is designed to help you make the most of your test suite. It features a rich set of assertions so you can find the perfect match for your needs HOW UNITY

  • C言語向けユニットテスティングフレームワーク Unityについて - 千里霧中

    C言語のユニットテストのフレームワークには、昔はCUnit+自前のテストコードジェネレータを使用していたのですが、前々からUnityの使用機会が増えています。 理由は色々ありますが、自分の場合だと以下の点で便利なのが特に大きいです。 移植性に優れるため組み込み環境(ホスト、ターゲット両方で)でも使える 標準で自動テストディスカバリ機能(テストランナーの自動生成)を持っているので、そのままTDDのような軽快なテスティングを実現できる 特に組み込みCでTDDをやる場合は、PCUnitと並ぶ有望なテスティングフレームワークだと感じます。 少し前にTest Driven Development for Embedded Cの読書会にて解説を行う機会もあったので、今回Unityについて簡単にまとめたいと思います。 特徴 組み込み開発も対象に含むC言語向けユニットテスティングフレームワーク サイト:

    C言語向けユニットテスティングフレームワーク Unityについて - 千里霧中
  • Lua

    目次 1.0.0 Lua の基礎 1.1.0 Lua v.s. Python 1.2.0 Lua 初心者の戸惑い 1.2.1  文字列の結合演算子 1.2.2  関数の戻り値 1.2.3  nil と None 1.2.4  部分文字列 1.2.5  正規表現 1.2.6  module 1.2.7  long comment 1.2.8  local 1.3.0 import 2.0.0 Lua XML 2.1.0 XML collect 2.2.0 XML collect (修正版) 2.3.0 XML mktree 2.4.0 XML viewer mkidf 2.5.0 XML 雑感 2009/01/29 2009/02/15 追加 2009/02/16 追加 2009/03/17 追加 2009/04/04 追加 2009/04/05 追加 今年の冬休みは Lua で WebDA

  • DMAのメリットって何?

    図2:DMAの詳細動作例 (クリックで拡大) [a](左図)はCPUを使ったデータ転送 / [b](右図)はDMAを使ったデータ転送 これはRAMからデータを取り出して通信機能へ送る場合です。通常、CPUがデータ転送を行う場合(図2[a])、まずRAMからデータを読み出します。読み出されたデータは、一度CPU内のALUを通ります。そして、ALUではデータに何の処理も行わずに、そのまま出力し、通信機能にデータは送られます。一方、DMAはCPUを介さずにRAMからデータを読み出し、通信機能へ転送します。その際、CPUは使われないので、ALUを使って別の演算ができます。マイコンとしては2つの仕事を並列処理できることになり、非常に効率的です。 最初CPUが、DMAにデータ数、転送元/先アドレス、転送モードなどを設定します。その後、DMA転送スタートのトリガーが来るとDMAは転送を開始します。DMA

    DMAのメリットって何?
    vcc
    vcc 2016/08/28
    バスアービトレーションの方式には、いくつか種類があります。代表的なものは、ラウンドロビン、サイクルスチール、バーストです(図3参照)。
  • ワイヤレスマウスを安価な物理ボタンとして使う - Qiita

    家の照明などを操作しようと思うと、やはりモバイルアプリよりも簡単な物理ボタンが欲しくなることは多いと思います。 流行に身を任せて、市販のIoTボタンを買ったり、ArduinoやESP8266などで電子工作したりしてもいいですが、USBでつながる普通の無線マウスで実用的には十分なことがあったので紹介します。 ほかのIoTボタンと比べてこんなメリットがあります。 安い (737円とか) どこでも手に入る 設定が不要 乾電池で動作して長持ち ホイールが使える マウスで電球スイッチ 今回は、家全体の電球を操作するボタンをつくるのを例に説明します。電球にはPhilips Hueを使って、HTTP API経由で電球を制御します。このようなものを使います。 USB接続のワイヤレスマウス Raspberry Pi (常時稼働のマシンならなんでもOK) 制御するもの (今回はHue) マウスをクリックすると

    ワイヤレスマウスを安価な物理ボタンとして使う - Qiita
  • CHANGE! – CHANGE-MAKERS

    CHANGE-MAKERS読者のみなさま。 いつもCHANGE-MAKERSをご愛顧いただきありがとうございます。 CHANGE-MAKERSがCHANGEします 長い間ご愛顧をいただきましたCHANGE-MAKERSですが、この度、ちょこっとCHANGEすることになりました。 いままで掲載していた1000ページ以上の記事達を整理して、気持ちを新たに再出発です。 より身軽に再出発するために、過去のコンテンツ等については、以下のようにいたしました。 旧かった記事: 思い切って断捨離しました。 ソフトレイヤー活用ガイド: これを期に日IBMのサイトへ旅立たれましたので、ぜひご活用ください。 ご登録いただいたメールアドレス: 当面はメール配信を予定していませんので、すべて廃棄させていただきました。 それでは、これからも引き続きどうぞよろしくお願い申しあげます。 CHANGE-MAKERS編集部

  • MQTTで始めるIoTデバイスの作り方 第1回:「MQTT」を知り「Mosquitto」を導入する

    IoTデバイスに搭載する核となるマイコンは「Arduino Nano」、組み合わせる通信モジュールにはWi-Fiモジュール「ESP8266」を用います。センサーと制御デバイスはアナログフォトセンサーと発光ダイオードのみ。回路構成にはブレッドボードを用いますので、はんだ付けなしで作業できます。 システム MQTTのメッセージ配信サーバであるmosquittoはLAN内に構築します。ほぼ同じ操作で外部のMQTTブローカー(メッセージ配信サーバ)も使えますが、外部MQTTブローカーや商用サービスとの連携については別の機会に紹介したいと思います MQTTプロトコルの基礎を押さえるという観点から既存のプロトコルスタックやライブラリーは用いず、直接TCPでメッセージをやりとりします。そのため、Arduinoへ書き込む実行ファイルは非常にコンパクトなものとなりました。 「MQTT」とは何か 特徴的な「P

    MQTTで始めるIoTデバイスの作り方 第1回:「MQTT」を知り「Mosquitto」を導入する
  • IoTをかじってみよう(5) ~オフラインIDEを使ってmbedアプリケーションをデバッグする

    オフラインIDEを使う これまでの連載で、mbedにはWeb IDEが提供されており、これを使うことで、PCに何もインストールしなくてもブラウザさえあれば、mbedのプログラムを開発できることが分かりました。Web IDEは始める時の敷居が非常に低いというのが大きな利点ですが、反面いろいろと制限があります。例えば、次のようなものです。 インターネット接続が必要 企業によってはセキュリティのために、インターネットへ接続できないことがあります。 エディタがあまり高機能ではない 今時のIDEであればリファクタリング機能(例えば変数名や関数名を一括して変更したり、コードの共通部分を関数に抜き出したりするなど)があるのが当たり前になっていますが、Web IDEが提供するエディタは非常に簡素なものです。基的な編集機能はそろっていますが、一般に流通しているエディタ、IDEと比べると見劣りするでしょう。

    IoTをかじってみよう(5) ~オフラインIDEを使ってmbedアプリケーションをデバッグする