ນີ້ແມ່ນຄໍາສັ່ງ libownet ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ເຈົ້າຂອງ , (libownet) - ງ່າຍໃນການໂຕ້ຕອບ 1-wire ພາສາ C ກັບ owserver ອະນຸສັນຍາ
ສະຫຼຸບສັງລວມ
libownet ຫ້ອງສະຫມຸດເພື່ອເຊື່ອມຕໍ່ກັບໂຄງການຂອງທ່ານ
ຈັດການ
OWNET_HANDLE
ຈັດການກັບການເຊື່ອມຕໍ່ owserver ແຕ່ລະຄົນ
ການລິເລີ່ມ
OWNET_HANDLE OWNET_init( const char * owserver_tcp_address_and_port )
ສົມທົບ ກ owserver (1) tcp/ip address ທີ່ມີຕົວຈັບ.
Directory ກິ
int OWNET_dirlist( OWNET_HANDLE owserver_handle , const char * onewire_path , char **
comma_separated_list )
ສ້າງລາຍການທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດຂອງອົງປະກອບໄດເລກະທໍລີ.
int OWNET_dirprocess( OWNET_HANDLE owserver_handle , const char * onewire_path , void (*
dirfunc ) (ໂມຄະ *, const char *), void * pass_on_value )
void dirfunc ( void * pass_on_value , const char * directory_element )
ນຳໃຊ້ຟັງຊັນ dirfunc ໄປຫາແຕ່ລະອົງປະກອບຂອງໄດເລກະທໍລີ, ພ້ອມກັບ pass_on_value ທີ່ຕັ້ງໃຈ.
ໄດ້ຮັບ ຂໍ້ມູນ
int OWNET_ອ່ານ( OWNET_HANDLE owserver_handle , const char * onewire_path , const char **
return_string )
ອ່ານຄ່າ (ຂະຫນາດທີ່ລະບຸ) ຈາກອຸປະກອນ 1 ສາຍ.
int OWNET_lread( OWNET_HANDLE owserver_handle , const char * onewire_path , const char **
return_string , ຂະ ໜາດ ຂະຫນາດ , off_t ຊົດເຊີຍ )
ອ່ານຄ່າ (ຂະໜາດທີ່ກຳນົດ ແລະຊົດເຊີຍ) ຈາກອຸປະກອນ 1 ສາຍ.
int OWNET_ປະຈຸບັນ( OWNET_HANDLE owserver_handle , const char * onewire_path )
ກວດເບິ່ງວ່າມີອຸປະກອນ 1 ສາຍ.
ທີ່ກໍານົດໄວ້ ຂໍ້ມູນ
int OWNET_put( OWNET_HANDLE owserver_handle , const char * onewire_path , const char *
value_string , ຂະ ໜາດ ຂະຫນາດ )
ຂຽນຄ່າ (ຂະຫນາດທີ່ລະບຸ) ໃສ່ອຸປະກອນ 1 ສາຍ.
int OWNET_lwrite( OWNET_HANDLE owserver_handle , const char * onewire_path , const char *
value_string , ຂະ ໜາດ ຂະຫນາດ , off_t ຊົດເຊີຍ )
ຂຽນຄ່າ (ຂອງຂະຫນາດທີ່ກໍານົດໄວ້ແລະຊົດເຊີຍ) ກັບອຸປະກອນ 1-wire.
ປິດ
void OWNET_ປິດ( OWNET_HANDLE owserver_handle )
ປິດການເຊື່ອມຕໍ່ກັບ owserver ໂດຍສະເພາະ.
void OWNET_closeall( void )
ປິດການເຊື່ອມຕໍ່ owserver ເປີດທັງໝົດ.
void OWNET_finish( void )
ປິດການເຊື່ອມຕໍ່ owserver ເປີດທັງໝົດ ແລະປ່ອຍຄວາມຈຳທັງໝົດ.
ອຸນຫະພູມ ຂະຫນາດ
void OWNET_set_temperature_scale( char temperature_scale )
char OWNET_get_temperature_scale( void )
ກໍານົດແລະດຶງຂໍ້ມູນຂະຫນາດອຸນຫະພູມທີ່ໃຊ້ສໍາລັບການສື່ສານທັງຫມົດ.
ອຸປະກອນ ຮູບແບບ
void OWNET_set_device_format( const char * ຮູບແບບອຸປະກອນ )
const char * OWNET_get_device_format( void )
ຕັ້ງຄ່າ ແລະດຶງຂໍ້ມູນຮູບແບບເລກລໍາດັບອຸປະກອນ 1 ສາຍທີ່ໃຊ້ສໍາລັບການສື່ສານທັງໝົດ.
FUNCTIONS
OW_init
OW_init_string ສະຫນອງຄວາມຍືດຫຍຸ່ນຢ່າງເຕັມທີ່ຂອງ owfs (1) ແລະ owhttpd (1) ບັນທັດຄໍາສັ່ງ.
Arguments
ສາມາດງ່າຍດາຍຄືກັບຊື່ອຸປະກອນ, ສະເພາະພາລາມິເຕີເຕັມ. ຫນຶ່ງຫຼື
ຊື່ອຸປະກອນເພີ່ມເຕີມ (ລວມທັງ tcp, serial, usb...) ແລະການປ່ຽນສາຍຄຳສັ່ງ. ເບິ່ງ
owfs (1) ສໍາລັບ syntax ເຕັມ.
ຜົນຕອບແທນ
0 ສໍາລັບຄວາມສໍາເລັດ. -1 ໃນຄວາມຜິດພາດແລະ ຜິດພາດ ຈະໄດ້ຮັບການກໍານົດໄວ້. OW_finish ບໍ່ ຈຳ ເປັນຕ້ອງເປັນ
ເອີ້ນວ່າຖ້າ OW_init ລົ້ມເຫລວ.
ລໍາດັບ
ຫນຶ່ງໃນ ໃນມັນ ຟັງຊັນຕ້ອງຖືກເອີ້ນກ່ອນທີ່ຈະເຂົ້າເຖິງລົດເມ 1 ສາຍ.
OW_finish ແມ່ນທາງເລືອກ.
OW_init_args
OW_init_args ສະຫນອງຄວາມຍືດຫຍຸ່ນຢ່າງເຕັມທີ່ຂອງ owfs (1) ແລະ owhttpd (1) ບັນທັດຄໍາສັ່ງ.
Arguments
ນຶ່ງ ຫຼືຫຼາຍຊື່ອຸປະກອນ (ລວມທັງ tcp, serial, usb...) ແລະປຸ່ມສະຫຼັບແຖວຄຳສັ່ງ.
ເບິ່ງ owfs (1) ສໍາລັບ syntax ເຕັມ. ບໍ່ມັກ OW_init_string ການໂຕ້ຖຽງແມ່ນຢູ່ໃນ argv/argc
ຮູບແບບ.
ຜົນຕອບແທນ
0 ສໍາລັບຄວາມສໍາເລັດ. -1 ໃນຄວາມຜິດພາດແລະ ຜິດພາດ ຈະໄດ້ຮັບການກໍານົດໄວ້. OW_finish ບໍ່ ຈຳ ເປັນຕ້ອງເປັນ
ເອີ້ນວ່າຖ້າ OW_init ລົ້ມເຫລວ.
ລໍາດັບ
ຫນຶ່ງໃນ ໃນມັນ ຟັງຊັນຕ້ອງຖືກເອີ້ນກ່ອນທີ່ຈະເຂົ້າເຖິງລົດເມ 1 ສາຍ.
OW_finish ແມ່ນທາງເລືອກ.
OW_get
OW_get ຖືກນໍາໃຊ້ເພື່ອເອົາລາຍຊື່ໄດເລກະທໍລີແລະເນື້ອຫາໄຟລ໌. ຜົນໄດ້ຮັບແມ່ນໃສ່ໃນ a
buffer ຈັດສັນແບບໄດນາມິກ.
Arguments
ເສັ້ນທາງ ແມ່ນເສັ້ນທາງໄປຫາໄດເລກະທໍລີຫຼືໄຟລ໌ (ຊັບສິນ). * ບັຟເຟີ ຕອບຕົວຊີ້ໄປຫາ
buffer ທີ່ປະກອບດ້ວຍໄດເລກະທໍລີ (ເຄື່ອງໝາຍຈຸດທີ່ແຍກອອກ) ຫຼືຄ່າ. buffer_length
ຕອບຄ່າຄວາມຍາວຂອງຄ່າ/string in buffer
ຜົນຕອບແທນ
ຈໍານວນໄບຕ໌ຕໍ່ຄວາມສໍາເລັດ. -1 ໃນຄວາມຜິດພາດ (ແລະ ຜິດພາດ ຖືກກໍານົດໄວ້).
ລໍາດັບ
ຫນຶ່ງໃນ ໃນມັນ ຟັງຊັນຕ້ອງຖືກເອີ້ນກ່ອນທີ່ຈະເຂົ້າເຖິງລົດເມ 1 ສາຍ.
OW_finish ແມ່ນທາງເລືອກ.
ທີ່ສໍາຄັນ ຫມາຍເຫດ
buffer ຖືກຈັດສັນ (ກັບ malloc) ໂດຍ OW_get ແຕ່ຕ້ອງໄດ້ຮັບການປົດປ່ອຍຢູ່ໃນໂຄງການຂອງທ່ານ.
ເບິ່ງ ສູນການຄ້າ (3) ແລະ ຟຣີ (3)
OW_lread
OW_lread ຖືກນໍາໃຊ້ເພື່ອອ່ານຊິບຫນ່ວຍຄວາມຈໍາ 1 ສາຍ. ຄິດວ່າມັນເປັນການປະສົມປະສານຂອງ ຊອກຫາ ແລະ
ອ່ານ ມັນອະນຸຍາດໃຫ້ເຂົ້າເຖິງຄວາມຊົງຈໍາແບບສຸ່ມ, ການລະບຸສະຖານທີ່ແລະຄວາມຍາວ. ບໍ່ມັກ OW_get
ບໍ່ສາມາດຮັບໄດເລກະທໍລີໄດ້ ແລະ buffer ຕ້ອງໄດ້ຮັບການຈັດສັນລ່ວງໜ້າແທນທີ່ຈະຈັດສັນ
ໂດຍປົກກະຕິ. buffer ຕ້ອງເປັນຢ່າງ ໜ້ອຍ ຂະຫນາດ ຄວາມຍາວ.
Arguments
ເສັ້ນທາງ ແມ່ນເສັ້ນທາງໄປຫາໄຟລ໌ (ຊັບສິນ). buffer ແມ່ນພື້ນທີ່ຄວາມຊົງຈຳ (ທີ່ຈັດສັນໄວ້ລ່ວງໜ້າ).
ບ່ອນທີ່ມູນຄ່າຈະຖືກວາງໄວ້. ຂະຫນາດ ແມ່ນຄວາມຍາວຂອງ bytes ທີ່ຮ້ອງຂໍ. ຊົດເຊີຍ is
ຕໍາແຫນ່ງໃນໄຟລ໌ເພື່ອເລີ່ມຕົ້ນການອ່ານ.
ຜົນຕອບແທນ
ຈໍານວນໄບຕ໌ຕໍ່ຄວາມສໍາເລັດ. -1 ໃນຄວາມຜິດພາດ (ແລະ ຜິດພາດ ຖືກກໍານົດໄວ້).
ລໍາດັບ
ຫນຶ່ງໃນ ໃນມັນ ຟັງຊັນຕ້ອງຖືກເອີ້ນກ່ອນທີ່ຈະເຂົ້າເຖິງລົດເມ 1 ສາຍ.
OW_finish ແມ່ນທາງເລືອກ.
OW_put
OW_put ເປັນວິທີທີ່ງ່າຍທີ່ຈະຂຽນໃສ່ຊິບ 1 ສາຍ.
Arguments
ເສັ້ນທາງ ແມ່ນເສັ້ນທາງໄປຫາໄຟລ໌ (ຊັບສິນ). buffer ແມ່ນຄ່າທີ່ຈະຂຽນ.
buffer_length ແມ່ນຄວາມຍາວຂອງມູນຄ່າ buffer ຜົນຕອບແທນ ຈໍານວນຂອງ bytes ສຸດ
ຄວາມສໍາເລັດ. -1 ໃນຄວາມຜິດພາດ (ແລະ ຜິດພາດ ຖືກກໍານົດໄວ້).
ລໍາດັບ
ຫນຶ່ງໃນ ໃນມັນ ຟັງຊັນຕ້ອງຖືກເອີ້ນກ່ອນທີ່ຈະເຂົ້າເຖິງລົດເມ 1 ສາຍ.
OW_finish ແມ່ນທາງເລືອກ.
OW_lwrite
OW_lwrite ເປັນເພື່ອນຂອງ OW_lread. ມັນອະນຸຍາດໃຫ້ຂຽນໄປຫາຕໍາແຫນ່ງທີ່ມັກໃນ
ໜ່ວຍຄວາມຈຳ 1 ສາຍ. ຄິດວ່າມັນເປັນການປະສົມປະສານຂອງ ຊອກຫາ ແລະ ຂຽນ buffer ຕ້ອງເປັນຢ່າງ ໜ້ອຍ
ຂະຫນາດ ຄວາມຍາວ.
Arguments
ເສັ້ນທາງ ແມ່ນເສັ້ນທາງໄປຫາໄຟລ໌ (ຊັບສິນ). buffer ແມ່ນຂໍ້ມູນທີ່ຈະຂຽນ. ຂະຫນາດ
ແມ່ນຄວາມຍາວຂອງ bytes ທີ່ຈະຂຽນ. ຊົດເຊີຍ ແມ່ນຕໍາແຫນ່ງໃນໄຟລ໌ທີ່ຈະເລີ່ມຕົ້ນ
ການຂຽນ.
ຜົນຕອບແທນ
ຈໍານວນໄບຕ໌ຕໍ່ຄວາມສໍາເລັດ. -1 ໃນຄວາມຜິດພາດ (ແລະ ຜິດພາດ ຖືກກໍານົດໄວ້).
ລໍາດັບ
ຫນຶ່ງໃນ ໃນມັນ ຟັງຊັນຕ້ອງຖືກເອີ້ນກ່ອນທີ່ຈະເຂົ້າເຖິງລົດເມ 1 ສາຍ.
OW_finish ແມ່ນທາງເລືອກ.
OW_finish
OW_finish ທໍາຄວາມສະອາດ OWFS 1-wire routines, ປ່ອຍອຸປະກອນແລະຫນ່ວຍຄວາມຈໍາ.
Arguments
ບໍ່ມີ.
ຜົນຕອບແທນ
ບໍ່ມີ
ລໍາດັບ
OW_finish ເປັນທາງເລືອກນັບຕັ້ງແຕ່ການທໍາຄວາມສະອາດແມ່ນອັດຕະໂນມັດໃນເວລາອອກຈາກໂຄງການ.
ລາຍລະອຽດ
1- ລວດ
1- ລວດ ເປັນໂປໂຕຄອນສາຍໄຟ ແລະຊຸດອຸປະກອນທີ່ອອກແບບ ແລະຜະລິດໂດຍ Dallas
Semiconductor, Inc. ລົດເມແມ່ນໂຄງການເຊື່ອມຕໍ່ຕ່ໍາພະລັງງານຕ່ໍາທີ່ມີຂໍ້ມູນ
ສາຍຍັງສາມາດສະຫນອງພະລັງງານ.
ອຸປະກອນແຕ່ລະແມ່ນເປັນເອກະລັກແລະບໍ່ປ່ຽນແປງຕົວເລກໃນລະຫວ່າງການຜະລິດ. ມີກວ້າງ
ອຸປະກອນຕ່າງໆ, ລວມທັງຫນ່ວຍຄວາມຈໍາ, ເຊັນເຊີ (ຄວາມຊຸ່ມຊື່ນ, ອຸນຫະພູມ, ແຮງດັນ, ຕິດຕໍ່,
ປັດຈຸບັນ), ສະວິດ, ເຄື່ອງຈັບເວລາ ແລະເຄື່ອງບັນທຶກຂໍ້ມູນ. ອຸປະກອນສະລັບສັບຊ້ອນຫຼາຍ (ເຊັ່ນ: thermocouple
sensors) ສາມາດສ້າງຂຶ້ນດ້ວຍອຸປະກອນພື້ນຖານເຫຼົ່ານີ້. ຍັງມີອຸປະກອນ 1 ສາຍທີ່ມີ
ການເຂົ້າລະຫັດລວມ.
ໂຄງການ 1 ສາຍໃຊ້ສາຍດຽວ ລົດເມ ຕົ້ນສະບັບ ແລະຫຼາຍ ຂ້າທາດ ຢູ່ໃນສາຍດຽວກັນ. ລົດເມ
ແມ່ບົດລິເລີ່ມການສື່ສານທັງຫມົດ. ສໍາລອງສາມາດໄດ້ຮັບການຄົ້ນພົບສ່ວນບຸກຄົນແລະ
ແກ້ໄຂໂດຍໃຊ້ ID ເປັນເອກະລັກຂອງເຂົາເຈົ້າ.
ແມ່ບົດລົດເມມາໃນຫຼາຍໆການຕັ້ງຄ່າລວມທັງ serial, ຂະຫນານ, i2c, ເຄືອຂ່າຍ
ຫຼືອະແດບເຕີ USB.
OWFS ການອອກແບບ
OWFS ເປັນຊຸດໂປຣແກມທີ່ອອກແບບມາເພື່ອເຮັດໃຫ້ລົດເມ 1 ສາຍ ແລະອຸປະກອນຂອງມັນໄດ້ຢ່າງງ່າຍດາຍ
ເຂົ້າເຖິງໄດ້. ຫຼັກການພື້ນຖານແມ່ນການສ້າງລະບົບໄຟລ໌ virtual, ທີ່ມີ ID ເປັນເອກະລັກ
ເປັນໄດເລກະທໍລີ, ແລະຄຸນສົມບັດສ່ວນບຸກຄົນຂອງອຸປະກອນແມ່ນເປັນຕົວແທນງ່າຍດາຍ
ໄຟລ໌ທີ່ສາມາດອ່ານແລະຂຽນໄດ້.
ລາຍລະອຽດຂອງສໍາລອງສ່ວນບຸກຄົນຫຼືການອອກແບບແມ່ບົດແມ່ນເຊື່ອງໄວ້ທາງຫລັງຂອງການໂຕ້ຕອບທີ່ສອດຄ້ອງກັນ.
ເປົ້າຫມາຍແມ່ນເພື່ອສະຫນອງຊຸດເຄື່ອງມືທີ່ງ່າຍສໍາລັບຜູ້ອອກແບບຊອບແວເພື່ອສ້າງການຕິດຕາມ
ຫຼືການຄວບຄຸມຄໍາຮ້ອງສະຫມັກ. ມີບາງປະສິດທິຜົນໃນການປະຕິບັດ,
ລວມທັງການເກັບຂໍ້ມູນ, ການເຂົ້າເຖິງຂະຫນານກັບແມ່ບົດລົດເມ, ແລະການລວບລວມອຸປະກອນ
ການສື່ສານ. ຍັງເປົ້າຫມາຍພື້ນຖານແມ່ນຄວາມງ່າຍຂອງການນໍາໃຊ້, ຢືດຢຸ່ນແລະ
ຄວາມຖືກຕ້ອງຫຼາຍກ່ວາຄວາມໄວ.
libowcapi
libowcapi (1) ແມ່ນ encapsulation ຂອງອັນເຕັມທີ່ libow ຫ້ອງສະຫມຸດສໍາລັບໂຄງການ C.
libowcapi (1) ອະນຸຍາດໃຫ້ໃຊ້ໂຄງການ C OWFS ຫຼັກການ (ໂຄງການຕັ້ງຊື່ສອດຄ່ອງ,
ອະແດບເຕີຫຼາຍອັນ, ອຸປະກອນ, ແລະຄວາມເຂົ້າກັນໄດ້) ໂດຍກົງຈາກໂຄງການ C. ມີ
ໂມດູນປຽບທຽບສໍາລັບພາສາການຂຽນໂປຼແກຼມອື່ນໆ:
C libowcapi
perl ນົກແກ້ວ
php owphp
python owpython
tcl owtcl
EXAMPLE
/* ລາຍຊື່ໄດເລກະທໍລີງ່າຍດາຍ - ບໍ່ມີຂໍ້ຜິດພາດໃນການກວດສອບ */
#ລວມທັງ
char * buf;
size_t s ;
OWNET_init("localhost:4304");
OWNET_dirlist("/",&buf,&s);
printf("ໄດເຣັກທໍຣີ %s0,buf);
ຟຣີ(buf);
OWNET_finish();
ໃຊ້ libownet ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net