ともさんのHP >プロブラミング >自作JavaLibrary >PICNICに接続してIO制御温度計測をするJavaClass

PICNICに接続してIO制御温度計測をするJavaClass

tomojavalib.akizuki.Picnic は 秋月電子通商にて販売されている PICNICを制御するためのCLASSです。 PICNICはごく簡単に言うとネットで制御できるマイコンです。http通信でブラウザを使って操作できるので とても手軽にIO制御が出来ます。


私は以前、PICNICを自作の天体写真用デジタルカメラの電源をON/OFFするために使っていました。
PICNICで電源制御


毎日、暗くなる頃を見計らってJavaのプログラム上でデジタル カメラ 楽天 の電源をONにするのですが、 このときに使っていたclassがこれです。


写真はリレーを制御していますが、SSR(ソリテッドステートリレー)を取り付ければ100VのAC電源を持つ機器の 電源もON/OFFできます。


classはPICNICに付属の温度センサーから温度を取り込むメソッドgetOndo()
と出力端子のLHを制御するsetOutPort()の2つを作りました。いずれもPICNICにhttp接続してhtml文を受取り、 そこから情報を取り出しています。


PICNICは使いようによっていろいろできる優れたものだと思っています。これ1つを独立してWebサーバーにして、 外から電源のON/OFFなんかもやろうと思えば簡単に出来てしまいます。


以下はこのclassのソースです。



package tomojavalib.akizuki;

import tomojavalib.net.*;


/**
* 秋月電子通商(akizukidenshi.com)にて販売しているPICNIC(www.tristate.ne.jp/picnic.htm)をJAVAにて制御するためのCLASS
* @author to.totomo.net
*
*/
public class Picnic {
   HttpAccess url = new HttpAccess();


   /**このクラスの動作試験*/
   public static void main( String argv[] )
   {
    Picnic p = new Picnic();
    System.out.println( "気温: " + p.getOndo("http://192.168.0.200/") + " 度" );
    int i = p.setOutPort("http://192.168.0.200/", "RB6", "H");
    if( i==0 ){System.out.println( "成功");}else{System.out.println( "失敗");}
    i = p.setOutPort("http://192.168.0.200/", "RB6", "L");
    if( i==0 ){System.out.println( "成功");}else{System.out.println( "失敗");}
   }

   
   
   /**
   * Picnicから温度DATAを受け取る
   * @param surl dataを受け取るURL http://***.com/ 等
   * @return 温度
   */
   public int getOndo( String surl)
   {
    int ondo = 0;
    String stmp = url.get( surl ,"UTF-8" );
    if( stmp == null ){ return -100; }
    int itmp = stmp.indexOf( "Celsius" );
    if( itmp < 3){return -100;}
    ondo = Integer.parseInt( stmp.substring( itmp-3 , itmp-1 ) );
    return ondo;
   }


   /**
    * PicnicのOUTPORTのLHを設定する
   * @param surl dataを受け取るURL http://***.com/ 等
   * @param port RB4〜RB7
   * @param lh LまたはH
   * @return 0:設定成功 -1:設定失敗
   */
   public int setOutPort( String surl, String port , String lh) {
   //http://192.168.0.200/modify.cgi?RB1=H
    String stmp = surl + "modify.cgi?" + port + "=" + lh ;
    String stmp2 = url.get( stmp ,"UTF-8" );
    String stmp3 = null;
    if( lh.equals("H") ){
    stmp3 = "< INPUT TYPE=\"submit\" NAME=\"" + port + "\" VALUE=\"H\"> High";
    }else{
    stmp3 = "< INPUT TYPE=\"submit\" NAME=\"" + port + "\" VALUE=\"H\"> Low";
    }
    if( stmp2.indexOf( stmp3 ) < 0){ return -1; }
   return 0;
   }

}

最終更新日: 2009-06-23 00:00:00

ともさんのHP >プロブラミング >自作JavaLibrary >PICNICに接続してIO制御温度計測をするJavaClass

このエントリーをはてなブックマークに追加
広告
おすすめ記事
新着ページ

大正時代の洋裁型紙  
蜂舎一号の失敗  
Fusion360で木工  
風呂の焚き口を修理  
柿渋染め  
ヒョウタンの乾燥  
男性用原型でシャツを自作  
温室の研究  
スリットカメラアプリケーション  
ゴアテックス生地の入手方法  
洗濯物干しハンガーの自作  

私の他のサイト

ともさんの箱庭(ブログ)
家庭菜園
3D-CAD
洋裁CAD

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

このサイトの文章・写真の無断転載を禁じます