From 3fcc78e51a804d7136db97465b73b79f09ff61d6 Mon Sep 17 00:00:00 2001 From: Tomasz Zajdel Date: Wed, 23 Sep 2020 02:31:55 +0200 Subject: [PATCH] Initial upload. --- README.md | 7 ++++- wit/README.md | 23 ++++++++++++++++ wit/test.jpg | Bin 0 -> 80892 bytes wit/wit.py | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 wit/README.md create mode 100644 wit/test.jpg create mode 100755 wit/wit.py diff --git a/README.md b/README.md index 3237672..f506ffb 100644 --- a/README.md +++ b/README.md @@ -1 +1,6 @@ -# ic-705-tools \ No newline at end of file +# ic-705-tools +Set of tools writen in different programming language based on what i really want to do. Sometimes it's python because i like to do things in console, sometimes it will be PHP for some dynamic websites. +Most of them will be proof-of-concept to show possibility with open source and this radio. Any software that is not poc will be in seperate repository on my github. + +------------ +[Image transfer over WiFi to Icom IC-705 and it's called wit. ](https://github.com/sq5t/ic-705-tools/wit/ "Image transfer over WiFi to Icom IC-705 and it's called wit. ") diff --git a/wit/README.md b/wit/README.md new file mode 100644 index 0000000..176bd08 --- /dev/null +++ b/wit/README.md @@ -0,0 +1,23 @@ +## wit - WiFi Image Transfer (for Icom IC-705). +'wit' is simple utility to send picture directly to radio over WiFi. IC-705 need to be accessible over IP with TCP port 60000 to work with this tool. + +#### How it works? +In gimp or any other software create jpeg file with resolution 640x480 and disabled interlace. In script change IP (line 17) and change filename (line 22). After that run script, acknowledge transfer on radio and wait :) + +#### Simple protocol specification. +Create tcp connection to radio to port 60000 and send command: +`\x01\x00\x00\x00\x00\x04\x00\x00\x00` + file size in hex (2 bytes) +Radio will answer with command ack: +`\x01\x01\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00` +and receive ack: +`\x01\x02\x00\x00\x00\x02\x00\x00\x04\x00` +Now we can send header: +`\x01\x03\x00\x00\x04\x03\x00\x00\x01` + size of data + 1024 bytes of data +and wait for receive ack. +On last package of data we need to send: +`\x01\x03\x00\x00\x00\x74\x00\x00\x01` + size of data (2 bytes) + last part of data (<= 1024B). + +------------ + +Yes, on test photo is my hedgehog :) +No, this tool is not some kind of wit, it's only acronym :) diff --git a/wit/test.jpg b/wit/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a1fdcd9ebcddb7f0f57ba72614057f76407521f3 GIT binary patch literal 80892 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%0A`1>Tt+c#`rhp!?(uR^G|7l!`YVI=t1Q{pIY5 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 PDFlptF<(lLlt2I36P-@H literal 0 HcmV?d00001 diff --git a/wit/wit.py b/wit/wit.py new file mode 100755 index 0000000..8e4e13c --- /dev/null +++ b/wit/wit.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3.6 +# -*- coding: utf-8 -*- + +import socket +import struct + +# Function to convert +def listToString(s): + + # initialize an empty string + str1 = " " + + # return string + return (str1.join(s)) + +# ip address of IC-705 connected to WiFi +tcp_ip = '10.155.0.157' +# standard tcp port for this transsmision +tcp_port = 60000 + +# open test.jpg +f = open("test.jpg", 'rb') +f.seek(0,2) +file_size = f.tell().to_bytes(3, byteorder='big') +f.seek(0) + +command = b'\x01\x00\x00\x00\x00\x04\x00\x00\x00' # command for file transfer to radio +cmd_ack = b'\x01\x01\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00' # command acknowledge +rcv_ack = b'\x01\x02\x00\x00\x00\x02\x00\x00\x04\x00' # receive acknowledge +send_next = b'\x01\x03\x00\x00\x04\x03\x00\x00\x01' # header of next part of picture +send_last = b'\x01\x03\x00\x00\x00\x74\x00\x00\x01' # header of last part of picture + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.connect((tcp_ip, tcp_port)) +message_tmp = command + file_size +s.send(message_tmp) +s.setblocking(1) + +data = s.recv(22) +answer = cmd_ack + rcv_ack + +if(data == cmd_ack): + data = s.recv(22) + if(data != rcv_ack): + print("No 'receive ack' received from radio") + exit() +elif(data != answer): + if(data != cmd_ack): + print("No 'command ack' received from radio") + print(data) + exit() + +while True: + piece = f.read(1024) + if not piece: + break + piece_size = len(piece).to_bytes(2, byteorder='big') + if(len(piece)==1024): + to_send = send_next + piece_size + piece + s.send(to_send) + data = s.recv(10) + while (len(data) == 0): + data = s.recv(10) + if(data != rcv_ack): + print("Error, 'receive ack' not received.") + exit() + else: + to_send = send_last + piece_size + piece + s.send(to_send) +f.close() +s.close()