owcapi - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド owcapi です。

プログラム:

NAME


オウカピ - 簡単な C 言語の 1 線式インターフェース

SYNOPSIS


リボウカピ プログラムにリンクするライブラリ

初期化
ssize_t OW_init( デバイス or フル パラメーター 文字列 )
ssize_t OW_init_args( int型 argc、 チャリオット ** 引数 )

初期化オプションの完全なセットは広範囲にわたります。 それらはおおよそ以下に対応します。
コマンドラインオプション うふふ (1) ああhttpd (1) および owftpd (1)

以上 データ
int型 OW_プレゼント( 定数 チャリオット * path )
int型 OW_get( 定数 チャリオット * パス、 チャリオット ** バッファ、 サイズ_t * バッファーの長さ )
ssize_t OW_lread( 定数 チャリオット * パス、 署名されていない チャリオット * バッファ、 定数 サイズ_t サイズ、 定数
オフト オフセット )

作成セッションプロセスで データ
ssize_t OW_put( 定数 チャリオット * パス、 定数 チャリオット * バッファ、 サイズ_t * バッファーの長さ )
ssize_t OW_lwrite( 定数 チャリオット * パス、 定数 署名されていない チャリオット * バッファ、 定数 サイズ_t サイズ、
定数 オフト オフセット )

デバッグ
ボイド OW_set_error_level( 定数 チャリオット *パラメータ )
ボイド OW_set_error_print( 定数 チャリオット *パラメータ )

閉じる
ボイド OW_finish( ボイド )

関数


OW_init
OW_init_string の完全な柔軟性を提供します うふふ (1) および ああhttpd (1) コマンドライン。

Arguments
完全なパラメータ指定であるデバイス名と同じくらい単純にすることができます。 XNUMXつまたは
より多くのデバイス名(tcp、serial、usb ...を含む)およびコマンドラインスイッチ。 見る
うふふ (1) 完全な構文の場合。

返品
成功の場合は0。 -エラーの場合は-1 エラー 設定されます。 OW_フィニッシュ 必ずしもそうである必要はありません
呼び出された場合 OW_init 失敗します。

シーケンス
一つ INIT 1-Wireバスにアクセスする前に、関数を呼び出す必要があります。
OW_フィニッシュ オプションです。

OW_init_args
OW_init_args の完全な柔軟性を提供します うふふ (1) および ああhttpd (1) コマンドライン。

Arguments
XNUMXつ以上のデバイス名(tcp、serial、usb ...を含む)およびコマンドラインスイッチ。
見る うふふ (1) 完全な構文の場合。 ようではない OW_init_string 引数はargv/argcにあります
形式でダウンロードすることができます。

返品
成功の場合は0。 -エラーの場合は-1 エラー 設定されます。 OW_フィニッシュ 必ずしもそうである必要はありません
呼び出された場合 OW_init 失敗します。

シーケンス
一つ INIT 1-Wireバスにアクセスする前に、関数を呼び出す必要があります。
OW_フィニッシュ オプションです。

OW_プレゼント
OW_プレゼント 1-wire デバイスの存在を確認するために使用されます。

Arguments
path ディレクトリまたはファイル(プロパティ)へのパスです。

返品
成功すると0。 エラーの場合は -1 (および エラー が設定されています)。

シーケンス
一つ INIT 1-Wireバスにアクセスする前に、関数を呼び出す必要があります。
OW_フィニッシュ オプションです。

OW_get
OW_get ディレクトリリストとファイルの内容を取得するために使用されます。 結果は
動的に割り当てられたバッファ。

Arguments
path ディレクトリまたはファイル(プロパティ)へのパスです。 *バッファ へのポインタを返します
ディレクトリ(カンマ区切り)または値を含むバッファ。 バッファーの長さ
の値/文字列の長さを返します バッファ

返品
成功したバイト数。 エラーの場合は-1(および エラー が設定されています)。

シーケンス
一つ INIT 1-Wireバスにアクセスする前に、関数を呼び出す必要があります。
OW_フィニッシュ オプションです。

重要 注意
バッファ によって(mallocで)割り当てられます OW_get ただし、プログラムで解放する必要があります。
見る malloc関数 (3) および 無料です。 (3)

OW_lread
OW_lread 1-Wireメモリチップの読み取りに使用されます。 の組み合わせとして考えてください シーク および
read これにより、場所と長さを指定して、メモリへのランダムアクセスが可能になります。 ようではない OW_get
ディレクトリを取得できず、バッファを割り当てるのではなく、事前に割り当てる必要があります
ルーチンによって。 バッファ 少なくとも サイズ 長さ

Arguments
path ファイル(プロパティ)へのパスです。 バッファ (事前に割り当てられた)メモリ領域です
値が配置される場所。 サイズ 要求されたバイトの長さです。 オフセット is
読み取りを開始するファイル内の位置。

返品
成功したバイト数。 エラーの場合は-1(および エラー が設定されています)。

シーケンス
一つ INIT 1-Wireバスにアクセスする前に、関数を呼び出す必要があります。
OW_フィニッシュ オプションです。

OW_put
OW_put 1-Wireチップに書き込む簡単な方法です。

Arguments
path ファイル(プロパティ)へのパスです。 バッファ 書き込まれる値です。
バッファーの長さ 値の長さです バッファ。 返品 上のバイト数
成功。 エラーの場合は-1(および エラー が設定されています)。

シーケンス
一つ INIT 1-Wireバスにアクセスする前に、関数を呼び出す必要があります。
OW_フィニッシュ オプションです。

OW_lwrite
OW_lwrite の仲間です OW_lread。 の任意の位置に書き込むことができます
1線式メモリ。 の組み合わせとして考えてください シーク および 書きます。 バッファ 少なくとも
サイズ 長さ

Arguments
path ファイル(プロパティ)へのパスです。 バッファ 書き込むデータです。 サイズ
書き込まれるバイトの長さです。 オフセット 開始するファイル内の位置です
執筆。

返品
成功したバイト数。 エラーの場合は-1(および エラー が設定されています)。

シーケンス
一つ INIT 1-Wireバスにアクセスする前に、関数を呼び出す必要があります。
OW_フィニッシュ オプションです。

OW_set_error_level
OW_set_error_level デバッグ出力を特定のレベルに設定します。 0 がデフォルト、それ以上
値を指定すると、より多くの出力が得られます。
(0=デフォルト、1=err_connect、2=err_call、3=err_data、4=err_detail、5=err_debug、
6=エラー_ビヨンド)

Arguments
paramsは レベルです。 整数である必要があります。

返品
なし

シーケンス
一つ INIT レベルを設定する前に関数を呼び出す必要があります。 INIT
デフォルトはレベル 0 です。

OW_set_error_print
OW_set_error_print デバッグ出力の宛先を設定します。 0=混合出力、
1=syslog、2=コンソール。

Arguments
paramsは レベルです。 0 から 2 までの整数である必要があります。

返品
なし

シーケンス
一つ INIT レベルを設定する前に関数を呼び出す必要があります。 INIT
デフォルトは 0 (混合出力) です。

OW_フィニッシュ
OW_フィニッシュ クリーンアップ OWFS 1-Wireルーチン、デバイスとメモリを解放します。

Arguments
なし。

返品
なし

シーケンス
OW_フィニッシュ クリーンアップはプログラムの終了時に自動的に行われるため、オプションです。

DESCRIPTION


1ワイヤー
1ワイヤー ダラスによって設計および製造された配線プロトコルおよび一連のデバイスです
Semiconductor、Inc。バスは、データが
ラインも電力を供給することができます。

各デバイスには、製造時に一意で不変の番号が付けられます。 広いがあります
メモリ、センサー(湿度、温度、電圧、接点、
現在)、スイッチ、タイマー、データロガー。 より複雑なデバイス(熱電対など)
センサー)は、これらの基本的なデバイスで構築できます。 を持っている1-wireデバイスもあります
暗号化が含まれています。

1線式方式では、単一の バス マスター そして複数 奴隷 同じワイヤー上。 バス
マスターはすべての通信を開始します。 スレーブは個別に検出でき、
一意のIDを使用してアドレス指定されます。

バスマスターには、シリアル、パラレル、i2c、ネットワークなど、さまざまな構成があります。
またはUSBアダプタ。

OWFS デザイン
OWFS は、1-Wireバスとそのデバイスを簡単に作成できるように設計された一連のプログラムです。
アクセス可能。 基本的な原則は、一意のIDを使用して仮想ファイルシステムを作成することです
ディレクトリであり、デバイスの個々のプロパティは単純なものとして表されます
読み取りと書き込みが可能なファイル。

個々のスレーブまたはマスターの設計の詳細は、一貫したインターフェイスの背後に隠されています。
目標は、ソフトウェア設計者が監視を作成するための簡単なツールセットを提供することです。
またはアプリケーションを制御します。 実装にはいくつかのパフォーマンスの強化がありますが、
データキャッシング、バスマスターへの並列アクセス、デバイスの集約など
コミュニケーション。 それでも基本的な目標は、使いやすさ、柔軟性、そして
速度ではなく正確さ。

リボウカピ
リボウカピ (1) 完全なカプセル化です リボ Cプログラム用のライブラリ。

リボウカピ (1) Cプログラムが使用できるようにします OWFS 原則(一貫した命名スキーム、
複数のアダプター、デバイス、および互換性)をCプログラムから直接。 がある
他のプログラミング言語の類似モジュール:

C リボウカピ

パール 操作

PHP うわーphp

パイソン オウパイソン

TCL うわーtcl

実施例


/*単純なディレクトリリスト-エラーチェックなし*/
#含む
unsigned char * buf;
size_t s;
OW_init("/dev/ttyS0");
OW_set_error_print("2");
OW_set_error_level("6");
OW_get("/",&buf,&s) ;
printf( "ディレクトリ%s0、buf);
free(buf);
OW_finish() ;

onworks.net サービスを使用してオンラインで owcapi を使用する



最新のLinuxおよびWindowsオンラインプログラム