Package: openimu
python-openimuA message communication tool for OpenIMU, OpenRTK and other devices of AceinnaWorking EnvironmentWindows10: python 3.7Mac OS: python 3.7Steps1. Start the toolThere are 3 ways to run the toolPrepareInstall the dependency library. It is better to create a virtual environment before to do it.$pipinstall-rrequirements.txtInstall pcap api library(optional). Because we try to support INS401 a new device from Aceinna. It would use 100BASE-T1 ethernet, and the data transfer is in low-level of network, so we need help of pcap api. Actually, we integratedscapyin our project. The pcap api library is the dependency ofscapy. If you are using a INS401 device, please also install the library based on your platform.PlatformLibrarayReferenceWindowsnpcaphttps://scapy.readthedocs.io/en/latest/installation.html#windowsUbuntutcpdumphttps://scapy.readthedocs.io/en/latest/installation.html#debian-ubuntu-fedoraMaclibpcaphttps://scapy.readthedocs.io/en/latest/installation.html#mac-os-xA. From source codeRunPlease use this way if you want to contribute the project.$pythonmain.pyB. Work as execution fileBuildThe executable will be generated indistfolder.$pyinstallerbuild.specRun$cddist
$./ans-devicesC. From pipInstall$pipinstallopenimuRun$ openimuStartup ArgumentsYou can specify some arguments while run the toolArguments:NameTypeDefaultDescription-i, --interfaceString'default'Value should beuart,eth,100base-t1-p, --portNumber'8000'Value should be an available port--device-typeString'auto'Value should be one ofIMU,RTK,DMU-b, --baudrateStringNoneValue should be a valid baudrate. The valid value should be one of38400,57600,115200,230400,460800-c, --com-portString'auto'Value should be a COM port--console-logBooleanFalseOutput log on console--debugBooleanFalseLog debug information--with-data-logBooleanFalseContains internal data log (OpenIMU only)-s, --set-user-paraBooleanFalseSet uesr parameters (OpenRTK only)2. Connect Aceinna deviceLink device to your pc or mac. The tool will auto detect the linked device by default.More UsageWork ModeDefault ModeNormally, python-openimu works as default mode. It will establish a websocket server, then exchange messages through the websocket protocol. And it should work withaceinna developers site, it allows user to do data monitor, configuration and firmware management.Command Line ModeYou can specify the startup argument--clito switch to Command Line Mode. Command Line Mode helps you interact with device directly. And it also supply command to start a websocket server, so that you can use the full features of Default Mode.Command Line Mode supports some commands for using, below is a list of commands description,HelpShow help menu. It would show a list of description for all supported commands.$helpGet Device InfoShow information of connected device.$connectGet Parameter (OpenIMU Only)Retrieve current value of specified parameter.$getparam_nameSet Parameter (OpenIMU Only)Update the value of specified parameter. The value would be recoverd after device power off.$setparam_nameparam_valueSave ConfigurationSave the configuration into EEPROM. The value would be permanently saved.$saveRecord Data (OpenIMU Only)Log the device output data in path /data. It is not supported for OpenRTK, because OpenRTK device will automatically log data when it is connected.$recordUpgrade FirmwareUpgrade firmware from a specified path. The binary file should match with the device. This is a high risk command.$upgradepath/to/binStart ServerEstablish a websocket server.$server_startStop ServerStop the websocket server. If there is websocket server runing, it has to stop it when you want to use other command.$stopExitQuit from Command Line Mode$exitInterfaceAceinna Device could be connected with your PC via UART or LAN. The supported interface is depended on the device type.Device TypeSupported ProtocolsDescriptionDMUuartOpenIMUuartOpenRTKuart,ethThe startup argument-i ethis supportedRTK330LuartINS401100base-t1The startup argument-i 100base-t1is supportedParse ToolThere is a log parse tool integrated in. It could parseOpenRTK,RTK330LA,INS401raw data log from data folder. Assginparseto start it.Arguments:NameTypeDefaultDescription-tString'openrtk'Switch work mode. Value should be one ofopenrtk,rtkl,ins401-pString'.'Value should be a valid path. It could be the container folder of log files-iNumber5INS kml rate(hz)ExampleRun from source code$pythonmain.pyparseWork as execution file$ans-devicesparseRun from pip$openimuparseChangelogs and Release NotesPlease refer toHISTORY.md