パスワードを忘れた? アカウント作成
9847223 story
ハードウェアハック

JavaScriptでプログラミングできる小型マイコン 38

ストーリー by hylom
あとはお値段次第というところだろうか 部門より
insiderman 曰く、

Tesselという、JavaScriptでプログラミングできる小型マイコンが登場する模様。現在開発段階で、近々発売する予定という。Raspberry Piに代表される小型・低価格のマイコンが最近話題になっているが、TesselはJavaScriptでプログラミングできるのが特徴。開発環境としてNode.jsベースのシェルやJavaScript用ライブラリが提供されるそうで、またNode.js向けのパッケージシステムであるnpmに対応、多くのパッケージがTessel上で動作するという。

説明を見る限り、Node.jsのランタイムが載っている模様。また、加速度センサやMicroSDカード、RFID、オーディオ、Bluetooth、サーボモーター、リレー、温度/湿度計などのセンサを搭載した拡張ボードおよびそれらを操作するためのライブラリも提供されるという。Arduinoと互換性を提供するモジュールも提供される予定だそうだ。

スペックとしては、CPUがARM Cortex-M3ベースのLPC1830(180MHz)、メモリが「32mb」のSDRAM、ストレージが「32mb」のフラッシュメモリ。無線LAN、GPIO、MicroUSD端子なども搭載する。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2013年08月22日 14時03分 (#2445865)

    TINIという、Javaでプログラミングできる小型マイコンが廃品種になっていた模様。
    どうやらメーカー(Maxim Integrated)はTINIという名前を今は別の製品群に流用しているらしい。(紛らわしい!)
    元のマイコンの製品情報もメーカーのwebから無くなってるようなので、とりあえず下記のページをご覧ください。
    http://www.apms.com.au/tini/ [apms.com.au]
    http://www.tini.org/ [tini.org]

    要はJavaインタプリタを内蔵した組込マイコンなんだけどね。 まあBASIC Srampみたいなものか。
    えっ、JavaとJavascriptは全然違うもの、無関係だって? すみません。。。。。。

    • by Anonymous Coward on 2013年08月22日 18時49分 (#2446081)

      JavaとJavaScriptは違うものだけど、無関係ってわけでもない。少なくとも、JavaScriptっていう名前が付けられたころは、LiveConnect [wikipedia.org]っていう機能があって、JavaScriptからの呼び出しで、(インタープリターである)ブラウザは、Javaで書かれた関数をそのままメモリにロードすることができた。だから、Javaのランタイムライブラリは(セキュリティ的な権限が許す限り)無条件でJavaScriptから使うことができたし、JavaScriptから呼び出すための関数をJavaで実装して、追加することもできた。

      設計思想的には、複雑で速度を要求するコードはJavaで書いて、簡単な部分はJavaScriptで書くことを目指していた。これにより、HTTP越しにはコンパイル済みの中間コードを送ることで、パフォーマンスとHTMLのクロスプラットフォーム性を同時に満たす仕組みが出来上がった。この戦略は、今考えても、さして欠陥があるようには思えない。ただ、世の中の仕組みとして、主流にはなれなかった。

      MicrosoftがIEに搭載したJScriptは、DOM以外の基本的な部分をJavaScriptから丸パクリしたから、JavaScriptとはほぼ完全な互換性があり、もちろんJavaとの連携機能をビルトインに含む。しかし、現実問題として、Javaでライブラリを開発して使っていたウェブデザイナーは、ほぼ皆無であり、代わりに、彼らはこぞってActiveXを使った。つまり、ウェブプログラマが付加したかったものは、Javaで完結するようなアルゴリズムではなく、OSが提供する描画やイベントを制御するAPIへのトンネルだった。見てくれとパフォーマンスの双方でJavaは負けた。

      かくして、JavaとJavaScriptは無関係と見做されるようになったが、これは実際の仕様やブラウザの実装の実態には反している。むしろJavaScriptにとって、Javaは唯一の特別なコンパイル言語だった。しかしながら、JScriptにとってはそうではなかった。そして、いまでは、もう、JavaScriptにとっても特別とは言えなくなってしまった。

      親コメント
      • by Anonymous Coward

        LiveConnect ありましたねぇ~。それでも、当時も知ってる人は多くはなかったよーな…。名前からすると、JavaScript がまだ LiveScript と呼ばれていた頃から存在してたのでしょうか?(°∀°)

      • by Anonymous Coward
        まぁ連携どうの以前に
        JavaScriptを有効にしてるなんて情弱だ!JSオフ推奨!みたいな時代もありましたからね。
        重さとセキュリティとが主な原因で。

        当時は情弱なんて言葉もなかったですが。
        • by Anonymous Coward

          情弱などという言葉が出来るよりも前、JavaScript動かしてたら「このwebはブラウザにウイルスか何かダウンロードさせて、おかしなことやらせてるんじゃないの?」と不審に思われたこともあったもんです
          本屋に行ってもJavaScriptの解説書など一冊も無し、職業プログラマでもJavaScriptをちゃんと知っている人(コード組んだことのある人)は僅少という今では考えられない状況でありました

  • この調子でどんどん活躍の場を広げて欲しい。

    世界で一番多く使われてる、プログラミング界の中国語は、C/C++だけど、
    世界で一番幅広く使われてる、プログラミング界の英語は、JavaScriptになって欲しいね。

    というかなると思う。

    • by Anonymous Coward on 2013年08月22日 17時26分 (#2446016)

      メモリの直接操作やら、クリティカルなタイミング操作が無理なので
      組み込み系でjavascriptが主流になることはないと思うな。
      将来もしかしたらjavascript風なそういう言語がでてくる可能性はあるかもしれないかも。

      親コメント
      • by Anonymous Coward

        組込みプログラマだけど32bit プロセッサを使うようなアプリケーションで、
        本当にクリティカルな部分やら、メモリを直接触りたい部分なんてほんの一部なんですよ。
        グラフィックを使った多階層のメニュー画面やら、ネットワークのアプリケーション層なんてもっと楽な言語で書きたいです。
        というかやるところは既にやってる。
        mRubyやらJavaやらMonoやら。

        • by Anonymous Coward

          PCとかRaspberryPiとか使やいいじゃん

        • by Anonymous Coward

          mRuby 、本当に使ってるプロジェクトあるのぉ?(°∀°)

          • by Anonymous Coward

            mRubyを動かすことが目的になってるプロジェクトならあるよ

    • by Anonymous Coward

      ラテン語は COBOL で、ギリシャ語は FORTRAN で、フランス語は Pascal で、英語が C言語 で、中国語は Ada じゃないかしら?(^ω^)

  • by Anonymous Coward on 2013年08月22日 14時17分 (#2445876)

    32ミリビットってなんぞと思った。

    • by nekopon (1483) on 2013年08月22日 14時42分 (#2445897) 日記
      ミリバール...
      親コメント
    • by Anonymous Coward

      もちろん 2-10 ビットのことですよぉ~。2061年に数学者フォールス・ライアーが発見すると、ジョン・タイターが言ってました。(´ω`)

      • by Anonymous Coward

        > もちろん 2-10 ビットのことですよぉ~。

        それミビビットやろ?

  • by Anonymous Coward on 2013年08月22日 14時33分 (#2445884)

    いまどき、マイクロプロセッサが搭載されたボード/システムのことを「マイコン」呼ばわりする言い方には違和感を覚える。

    • 最近の用語としては、マイコンとは「マイクロコンピュータ」ではなく「マイクロコントローラ」 [wikipedia.org]の略として使われる場合が主流だと思います。
      そういう点では、「GPIOといった制御用入出力端子」があるかどうかが「マイコン」の条件でしょう。

      #この論だと、Raspberry Pi は、GPIOがあるので一応「マイクロコントローラボード」のジャンルに入れられそう。でも、リアルタイムOSじゃないLinux上で動いていて、精密なタイミングでのGPIO制御がしにくいRaspberry Pi を、マイクロコントローラボードとは呼びたくないなぁ。

      でもって高級言語インタプリタが動くマイコンと言えば、今まではBASICを乗せてるのが多いですかね。
      今年の初出新製品だとPICAXE [asablo.jp]とか。
      #具体的製品例を挙げようと「マイコン BASIC」でググったらべーマガしか出てこない…

      本ストーリーのマイコンボードはJavaScriptなんていう重たいインタプリタ言語実行環境を乗せているというのが新しい感じ。

      でも最近のArmはCortex-Mシリーズで、この「マイクロコンピュータ市場」にだいぶ進出してきてますが、Cortex-Mはアーキテクチャの基本は同じでもMMUは無いし、タブレットやスマホのCortex-Aシリーズとは別物と考えるべきです。

      TesselについてはOSの情報が見つけられませんでしたが、MMU無しにLinuxなんかを動かすのは無理ですので、μCLinux の上で node.js を動かしてるとかじゃないかな。

      親コメント
      • 従来型のC言語等でイメージを作って書き込むタイプの安価な [akizukidenshi.com] マイコン [rs-online.com] 評価ボード [akizukidenshi.com]ではmruby [github.com]や.NET Micro Framework [codeplex.com]を動作させるにはSRAMが足りなくて困ることが多くありました。
        一方、SRAM等の周辺機能を増強したボードになりますと単価1万円を切るものがなく、技術講習会や学習用の機材として大量に購入することは予算の兼ね合い上無理です。

        そのため、このボードがスペックどおりに従来品よりも安価に入手できる(そしてJTAGやSWDでファームを書き換えられる)のであれば自分の思い描く用途にはまさに打ってつけだと思っております。

        mrubyやmonoを乗せる評価ボードとして比較対象にあげられる Raspberry Pi等 ですが以下の理由からマイコンボードではなくFAコンピュータだと感じております。

        ・OS(Linux)が動作することが前提
        ・MMU有りのCPU
        ・周辺機能が不必要なほど多機能
        ・(従来型のマイコンボードと比べて)消費電力が大きく発熱も凄い
        ・各種IOポートが少ない
        ・親コメにある
         >リアルタイムOSじゃないLinux上で動いていて、精密なタイミングでのGPIO制御がしにくい

        Linux等で作ったシステムを簡単に組込みシステム化できるという意味では Raspberry Pi は非常に便利かつ優れた製品ですが、あくまでもPCの延長線上であり
        Arduino、mbedのようなOSレスもしくはRTOSが前提となるMCU/ECUの延長線上の製品とは似て異なるものだと思っております。

        # このスペックであれば、mrubyのmirbをボード上で動作させることが可能でありそうなので簡単なスケジューラ等とあわせてruby電卓モドキなどが作れそうです。

        親コメント
        • by Anonymous Coward
          >マイコンボードではなくFAコンピュータだと感じております。

          感じるのは勝手だけど、Raspberry Piには、FAコンピューターとして一般的に求められる性能…対環境性や堅牢性とか…は全く考慮されていないと思うけど。

          そもそも教育用として開発されたものですからね。Scratchでプログラミングの面白さを知って、Pythonでもうちょっと本格的なプログラミングに触れて、かつ、ソフトだけでなくGPIOでフィジカルなデバイスの制御も知って…という事が本来の目的だったわけですよね。
          だから、「簡単に組込みシステム化できる」という意味で「優れた製品」とするのは、まぁ
      • by Anonymous Coward

        シンボリクス社の LispMachine とか、JavaRing みたいに、直接 JavaScript コードを実行するハードウェアの可能性はない?(°∀°)

        • by Anonymous Coward

          symbolicsのはちゃんと機械語にコンパイルしてから実行しますよ
          fortranコンパイラもありましたよ

      • by Anonymous Coward

        >#この論だと、Raspberry Pi は、GPIOがあるので一応「マイクロコントローラボード」のジャンルに入れられそう。でも、リアルタイムOSじゃないLinux上で動いていて、精密なタイミングでのGPIO制御がしにくいRaspberry Pi を、マイクロコントローラボードとは呼びたくないなぁ。

        そう思っていたのですが、高精度タイマ+nanosleep()が使えるので、マイクロ秒程度の制御には困りませんでした。
        タイミングを保証できないので用途によっては使い物にならないでしょうが、一応。

    • by Anonymous Coward

      そうそう。今どきはマイコンといえばこっちですよ。
      インテル マイコン [google.co.jp]
      もうローマになっちゃったけど

    • by Anonymous Coward

      今どきも何も、マイコンは"My Computer"のことだと
      太古の昔から決まってませんか?

      # 15までナイコンだった。

      • by Anonymous Coward

        「マイ・コンピュータ」=「マイコン」は、安田寿明氏による造語ですな。

    • by Anonymous Coward

      今どきマイコンと言ったら、Micro Controller だからこれでいいんだよ。

      • by Anonymous Coward

        だとしたら今度はRaspberry Piにのっている,RAM外付けのCortex-Aシリーズを小型・低価格とは思えないな.

      • by Anonymous Coward

        それだと

        ・TESSEL == マイコン
        ・TESSELに搭載されているLPC1830 == マイコン

        と言ってることになるので、おかしいと思うが。

        • by Anonymous Coward

          区別するなら略さないで

          ・TESSEL == マイクロコントローラボード
          ・TESSELに搭載されているLPC1830 == ワンチップマイクロコントローラ

          と書くべきなんだろうけど TK-80 はワンボードマイコンと呼ばれていたんだから
          今に始まったことじゃなし、スルー力を養った方がよろしいかと。

          • by Anonymous Coward

            今時で言うところの 個人向けコンピュータ=パーソナルコンピュータ(略してパソコン) の意味で「マイコン」なんて言ってたのって、せいぜいが1980年代半ばくらいまでじゃん

            • by Anonymous Coward

              TK-80はマイコンだけど、TK-80BSはパソコンでしたっけ。

  • by Anonymous Coward on 2013年08月22日 14時36分 (#2445889)

    ・MicroUSB端子
    ・MicroSD スロット
    ・百万分の一米ドル端子

    どれかの誤記かな?

  • by Anonymous Coward on 2013年08月22日 15時47分 (#2445947)

    キワモノ商売が流行りだしたら成熟期の証拠

    • by Anonymous Coward on 2013年08月22日 16時36分 (#2445974)

      MMU付きのCPUで最初からキーボードやディスプレイが接続できる Raspberry Pi より下で
      8bit CPU の Arduino より上、JavaScriptでプログラミングできることが最大の売り。
      確かに「キワモノ」と呼ぶのがぴったりですね。

      インタプリタで動くコントローラって古くはIntelの i8051に BASICを載せたi8052 など、
      一部で話題にはなっても、実物が流行ったことは無いように思います。

      アマチュア向けのハードウェア開発環境が充実するのは嬉しいのですが、徒花ばかり
      目立つようになると、本当の成熟に至る前にアタリショック的な衰退に陥るのではないか
      と個人的には少し危惧しています。

      親コメント
    • by Anonymous Coward

      もうある
      http://bellard.org/jslinux/ [bellard.org]

      • by Anonymous Coward

        エミュか、惜しい…
        言語エンジンとスクリプトのみで直に動かしてほしいところ

        "cpux86.js"がシュールw

typodupeerror

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

読み込み中...