mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-05-27 15:39:32 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from __future__ import print_function
|
||||
import os
|
||||
import sys
|
||||
import socket
|
||||
import struct
|
||||
@@ -277,6 +278,8 @@ try:
|
||||
print("Command from server:", command, args)
|
||||
if command == "writefile":
|
||||
recive_file(args['filename'])
|
||||
if bool(args['clever_restart']):
|
||||
os.system("systemctl restart clever")
|
||||
elif command == 'config_write':
|
||||
write_to_config(args['section'], args['option'], args['value'])
|
||||
elif command == 'config_reload':
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
# $3 - hostname of rpi
|
||||
# $4 - server ip
|
||||
|
||||
if [ $(whoami) != "root" ]; then
|
||||
echo -e "\nThis should be run as root!\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check if enough arguments
|
||||
if [[ $# -ne 4 ]] ; then
|
||||
echo -e "\nPlease, enter arguments: router ssid, wifi password, copter id and server ip"
|
||||
@@ -82,14 +87,14 @@ if ! [ -f "/home/pi/catkin_ws/src/clever/aruco_pose/map/animation_map.txt" ] ; t
|
||||
fi
|
||||
|
||||
# install samba and winbind (for hostname resolving)
|
||||
apt-get -y install samba
|
||||
apt-get -y install winbind
|
||||
# apt-get -y install samba
|
||||
# apt-get -y install winbind
|
||||
|
||||
# set /etc/nsswitch.conf
|
||||
sed -i '/hosts:/c hosts: files dns wins' /etc/nsswitch.conf
|
||||
|
||||
# install chrony (for time syncing)
|
||||
apt-get -y install chrony
|
||||
# apt-get -y install chrony
|
||||
|
||||
# configure chrony as client
|
||||
cat << EOF | tee /etc/chrony/chrony.conf
|
||||
|
||||
@@ -344,10 +344,10 @@ class Client:
|
||||
return self._request_queue.pop(requested_value)
|
||||
|
||||
@requires_connect
|
||||
def send_file(self, filepath, dest_filename):
|
||||
def send_file(self, filepath, dest_filename, clever_restart = False):
|
||||
print("Sending file ", dest_filename)
|
||||
chunk_count = math.ceil(os.path.getsize(filepath) / Server.BUFFER_SIZE)
|
||||
self.send(Client.form_message("writefile", {"filesize": chunk_count, "filename": dest_filename}))
|
||||
self.send(Client.form_message("writefile", {"filesize": chunk_count, "filename": dest_filename, "clever_restart": clever_restart}))
|
||||
with open(filepath, 'rb') as file:
|
||||
chunk = file.read(Server.BUFFER_SIZE)
|
||||
while chunk:
|
||||
|
||||
@@ -181,7 +181,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
item = model.item(row_num, 0)
|
||||
if item.isCheckable() and item.checkState() == Qt.Checked:
|
||||
copter = Client.get_by_id(item.text())
|
||||
copter.send_file(path, "/home/pi/catkin_ws/src/clever/aruco_pose/map/animation_map.txt")
|
||||
copter.send_file(path, "/home/pi/catkin_ws/src/clever/aruco_pose/map/animation_map.txt", clever_restart=True)
|
||||
|
||||
|
||||
model = QStandardItemModel()
|
||||
@@ -198,7 +198,7 @@ def client_connected(self: Client):
|
||||
model.appendRow((copter_id_item, ))
|
||||
|
||||
|
||||
Client.on_connect = client_connected
|
||||
Client.on_first_connect = client_connected
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -53,6 +53,9 @@ my_travis_retry() {
|
||||
return $result
|
||||
}
|
||||
|
||||
echo_stamp "Change repo owner to pi"
|
||||
chown -Rf pi:pi /home/pi/CleverSwarm/
|
||||
|
||||
echo_stamp "Update apt cache"
|
||||
apt-get update -qq
|
||||
|
||||
|
||||
Reference in New Issue
Block a user