Starting XAMPP with port 80 on Windows 10 Professional

Recently we were asked to have a look at a XAMPP installation on a Windows 10 Professional machine which would not start while giving the following error:

Problem detected!
Port 80 in use by "Unable to open process" with PID 4!
Apache WILL NOT start without the configured ports free!
You need to uninstall/disable/reconfigure the blocking application
or reconfigure Apache and the Control Panel to listen on a different port

The culprit of this problem was a module of the IIS (Internet Information Services for Windows Server) that is named World Wide Web Publishing Service (WWW service or W3SVC service). Apparently, the W3SVC was hoarding port 80 even though IIS was not executing. To provide a quick solution, we decided to stop the W3SVC and get over this difficulty in a jiffy.

As you can see in the following video, to stop the World Wide Web Publishing Service (WWW service or W3SVC service) we performed the next steps:

  1. Clicked on the Start button
  2. Typed in the word services, which showed the Services link which we clicked to start the windows services  manager
  3. Then, we scrolled down in the Services window until we found the World Wide Web Publishing Service
  4. Finally, we right clicked on it and selected Stop.

After that, XAMPP was able to start Apache on port 80 with no issues.

 


A simple way to find which DHCP server gave you an IP

Recently, we were trying to find which DHCP server was responding to the messages on the network. Using a DHCP-enabled client on a Fedora 26 GNU/Linux we grepped the contents of journalctl to find the DHCP acknowledgment messages (DHCPACK) and figure out the IP of the DHCP server.

The command we used was the following:

sudo journalctl | grep DHCPACK;

And it gave us results such as the ones below:

[[email protected] ~]$ sudo journalctl | grep DHCPACK
Nov 12 13:08:28 sys-net dhclient[578]: DHCPACK from 10.1.101.252 (xid=0x80ec760c)
Nov 12 13:08:34 sys-net dhclient[720]: DHCPACK from 10.1.101.252 (xid=0x2ed6486f)
Nov 12 11:51:19 sys-net dhclient[1248]: DHCPACK from 10.1.101.252 (xid=0xe3dd491c)
Nov 12 12:02:09 sys-net dhclient[1407]: DHCPACK from 10.1.101.252 (xid=0x1fa42c2d)
Nov 12 12:11:03 sys-net dhclient[1508]: DHCPACK from 10.1.101.252 (xid=0x91c3990a)
Nov 12 12:14:06 sys-net dhclient[1607]: DHCPACK from 10.1.101.252 (xid=0x57ebb515)
Nov 12 12:19:27 sys-net dhclient[1710]: DHCPACK from 10.1.101.252 (xid=0x5450c250)
Nov 12 12:19:39 sys-net dhclient[1776]: DHCPACK from 10.1.101.252 (xid=0x2c38d517)
Nov 12 12:39:53 sys-net dhclient[1837]: DHCPACK from 192.168.1.1 (xid=0xe7a1182d)
Nov 12 12:40:51 sys-net dhclient[1837]: DHCPACK from 192.168.1.1 (xid=0xe7a1182d)
Nov 12 12:41:51 sys-net dhclient[1837]: DHCPACK from 192.168.1.1 (xid=0xe7a1182d)
Nov 12 12:42:44 sys-net dhclient[1837]: DHCPACK from 192.168.1.1 (xid=0xe7a1182d)
Nov 12 12:43:33 sys-net dhclient[1837]: DHCPACK from 192.168.1.1 (xid=0xe7a1182d)
Nov 12 12:44:31 sys-net dhclient[1837]: DHCPACK from 192.168.1.1 (xid=0xe7a1182d)
Nov 12 12:46:20 sys-net dhclient[2053]: DHCPACK from 192.168.1.1 (xid=0xbb006001)

It is important to use sudo or else you will not be seeing messages from other users and the system. As, only users in groups ‘adm’, ‘systemd-journal’, ‘wheel’ can see all messages.


youtube-dl does not work properly on Qubes 4.0 – Fedora 26

While working on a GNU/Linux Fedora 26 virtual machine running under the Qubes 4.0 OS, we installed youtube-dl through dnf to download some media off the net.

sudo dnf install youtube-dl;

When we tried to use it, we got the error youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name. This issue was resolved years ago, so it led us to the conclusion that our version of youtube-dl was out of date. To test this hypothesis, we updated youtube-dl with pip.

sudo pip install --upgrade youtube_dl;

After the update was complete, we tried to use youtube-dl, this time with success!!

Full Logs:

[[email protected] Music]$ youtube-dl
bash: youtube-dl: command not found...
[[email protected] Music]$ sudo dnf install youtube-dl
Last metadata expiration check: 0:52:47 ago on Sat Nov 10 10:43:46 2018.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
youtube-dl noarch 2018.04.16-1.fc26 updates 2.6 M

Transaction Summary
================================================================================
Install 1 Package

Total download size: 2.6 M
Installed size: 11 M
Is this ok [y/N]: y
Downloading Packages:
youtube-dl-2018.04.16-1.fc26.noarch.rpm 270 kB/s | 2.6 MB 00:09 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 258 kB/s | 2.6 MB 00:10 
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1 
Installing : youtube-dl-2018.04.16-1.fc26.noarch 1/1 
Running scriptlet: youtube-dl-2018.04.16-1.fc26.noarch 1/1 
Running as unit: run-rfddd15fff2d14d109826a90f59325e97.service
Verifying : youtube-dl-2018.04.16-1.fc26.noarch 1/1 
Notifying dom0 about installed applications

Installed:
youtube-dl.noarch 2018.04.16-1.fc26

Complete!
[[email protected] Music]$ youtube-dl https://www.youtube.com/watch?list=r6akoO34yUvK8ddtjnzL
 r6akoO34yUvK8ddtjnzL: Downloading webpage
 Downloading playlist: How to cook a banana
 playlist How to cook a banana: Downloading 18 videos
 Downloading video 1 of 18
 ir86d1hTSv1r: Downloading webpage
 ir86d1hTSv1r: Downloading video info webpage
 ir86d1hTSv1r: Extracting video information
 ir86d1hTSv1r: Downloading js player vfls4aurX
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1191, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1102, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1163, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 808, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by RegexNotFoundError('Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[[email protected] Music]$ sudo pip install --upgrade youtube_dl
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip install --user` instead.
Collecting youtube_dl
Downloading https://files.pythonhosted.org/packages/6c/a4/c2e3fbd8b9c7ccbca3f220c4fb0914926669bf9080fb8f2f4db4811706be/youtube_dl-2018.11.7-py2.py3-none-any.whl (1.8MB)
100% |████████████████████████████████| 1.8MB 355kB/s 
Installing collected packages: youtube-dl
Successfully installed youtube-dl-2018.11.7
[[email protected] Music]$ youtube-dl https://www.youtube.com/watch?list=r6akoO34yUvK8ddtjnzL
 r6akoO34yUvK8ddtjnzL: Downloading webpage
 Downloading playlist: How to cook a banana
 playlist How to cook a banana: Downloading 18 videos
 Downloading video 1 of 18
 ir86d1hTSv1r: Downloading webpage
 ir86d1hTSv1r: Downloading video info webpage
 ir86d1hTSv1r: Downloading js player vfls4aurX
WARNING: Requested formats are incompatible for merge and will be merged into mkv.

How to create a video from thousands of images using ffmpeg

We have this simulation that creates several frames demonstrating the life-cycle of an ant colony.
Having thousands of pictures is not very useful most of the times so we decided to create a video out of those frames.
To do so, we decided to use ffmpeg. The names of the files that we generate are 5 digit zero-leading auto increment numbers (e.g 00001.png and 00002.png) so we ended up with the following command:

ffmpeg -framerate 60 -i %05d.png video.mp4;


Χρήσιμες Συμβουλές και Οδηγοί για την χρήση Drone

Λίστα Ελέγχου Συντήρησης και Χειρισμού Drone

Η πιο κάτω λίστα ελέγχου και οι συμπληρωματικές οδηγίες μπορούν να σας βοηθήσουν να συντηρήσετε και να λειτουργήσετε το drone σας και να αποφύγετε περιττά προβλήματα, καθώς η καλή κατάσταση του drone και η ορθή λειτουργία είναι τα κλειδιά για την ασφάλεια της πτήσης σας.

Οπτική Επιθεώρηση

  • Επιθεωρήστε το εξωτερικό κέλυφος και τα άλλα εξαρτήματα για ζημιές. Επικοινωνήστε με την τεχνική υποστήριξη εάν εντοπιστούν ζημίες. Μην τροποποιείτε τη δομή των προϊόντων σαν προσωρινή λύση. Χρησιμοποιείτε μόνο αυθεντικά ή πιστοποιημένα εξαρτήματα όπου το επιτρέπουν οι συνθήκες.
  • Ελέγξτε την κατάσταση των ελίκων πριν και μετά από κάθε πτήση. Βεβαιωθείτε ότι δεν υπάρχουν λυγισμένες λεπίδες ή ρωγμές.
  • Όπου ισχύει, επιθεωρήστε το αντίζυγο (gimbal) για ζημιές και το φακό της κάμερας για σκόνη ή ακαθαρσίες.

Μπαταρία

  • Αναλόγως κατασκευάστριας εταιρίας, να είστε ενήμεροι για τις κατευθυντήριες γραμμές για την ασφάλεια της μπαταρίας.
  • Χρησιμοποιήστε μια πλήρως φορτισμένη μπαταρία. Εάν μια μπαταρία είναι αδρανής για μεγάλο χρονικό διάστημα, μπορεί να επηρεαστεί η απόδοσή της.
  • Μην αφήνετε την μπαταρία να έρθει σε επαφή με υγρά. Αν δεν είναι στεγανή, θα οδηγήσει σε μόνιμη ζημιά.
  • Όπου ισχύει, μην αφαιρείτε ή τοποθετείτε την μπαταρία από το αεροσκάφος όταν είναι ενεργοποιημένη.
  • Όπου ισχύει, ελέγξτε την κατάσταση της μπαταρίας από τις διάφορες εφαρμογές χειρισμού του drone μετά την ενεργοποίηση του αεροσκάφους. Παρακολουθήστε τις ειδοποιήσεις της εφαρμογής κατά τη διάρκεια της πτήσης. Αν η εφαρμογή εμφανίζει προειδοποίηση ότι τα στοιχεία (cells) της μπαταρίας δεν είναι όπως θα έπρεπε ή έχουν καταστραφεί, διακόψτε τη χρήση της μπαταρίας.
  • Βάση του αντίστοιχου οδηγού από τον κατασκευαστή της μπαταρίας, αποφύγετε την χρήση της μπαταρίας όταν η θερμοκρασία είναι εκτός των ορίων χρήσης του κατασκευαστή.
  • Μη φορτίζετε την μπαταρία αμέσως μετά από μια πτήση, επειδή η θερμοκρασία της μπαταρίας μπορεί να είναι πολύ ψηλή. Αποφύγετε τη φόρτιση της μπαταρίας εκτός των καθορισμένων ορίων θερμοκρασίας φόρτισης (τα οποία δίνει ο κατασκευαστής).
  • Αφού ολοκληρωθεί η φόρτιση, αποσυνδέστε την μπαταρία από το φορτιστή.
  • Ελέγχετε τακτικά τον φορτιστή για ζημιά στο καλώδιο, το βύσμα, το περίβλημα ή άλλα μέρη. Ποτέ μην χρησιμοποιείτε φθαρμένο φορτιστή.
  • Να εκτελείτε μια πλήρης φόρτιση και εκφόρτιση της μπαταρίας μία φορά κάθε τρεις μήνες για τη διατήρηση της υγείας της μπαταρίας (εκτός και αν ορίζει κάτι διαφορετικό ο κατασκευαστής).
  • Για μπαταρίες που δεν έχουν αυτόματη θέρμανση, να προθερμαίνετε τη μπαταρία σας για να φθάσει τα επιτρεπτά όρια χρήσης όταν η θερμοκρασία είναι χαμηλότερη περισσότερο από 10° C από το όριο που ορίζει ο κατασκευαστής. Συνιστάται η χρήση του κατάλληλου θερμαντήρα μπαταριών αναλόγως κατασκευαστή.
  • Εάν πετάτε σε υψηλές θερμοκρασίες πάνω από 40° C, να προσέχετε τη θερμοκρασία της μπαταρίας. Εάν η θερμοκρασία της μπαταρίας ξεπεράσει τους 65° C, προσγειώστε αμέσως στη συσκευή σας.

Μεταφορά

  • Αποθηκεύστε την μπαταρία σε ένα κατάλληλο κιβώτιο μεταφοράς / τσάντα πριν από τη μετακίνηση για να αποφύγετε ζημιές από εξωτερικές δυνάμεις. Μην αποθηκεύετε την μπαταρία με μεταλλικά εξαρτήματα.
  • Αφαιρέστε τη μπαταρία από το drone όταν αποθηκεύονται για μεγάλο χρονικό διάστημα.
  • Αδειάστε την μπαταρία στο 30% πριν τη μεταφορά όταν δεν θα γίνει άμεση χρήση (όπου επιτρέπει το σενάριο και οι συνθήκες). Εάν η μπαταρία χρειάζεται να μεταφερθεί σε αεροπλάνο, εκφορτήστε τη στο 5% της συνολικής ισχύος της. Κάποιοι κατασκευαστές επιτρέπουν να ρυθμίσετε τη φόρτωση της μπαταρίας είτε μέσω εξωτερικού ειδικού εξοπλισμού είτε μέσω του συστήματος διαχείρισης που είναι ενσωματωμένο στη μπαταρία μαζί με την εφαρμογή χειρισμού του drone.
  • Συνδέστε τον σφιγκτήρα του αντίζυου (gimbal) κατά την αποθήκευση του drone. Αυτό θα βοηθήσει αποτελεσματικά στην αποφυγή οποιασδήποτε ζημιάς στο αντίζυγο (gimbal) σας.
  • Εάν μεταφέρετε το drone σας πολύ μακριά, είναι καλή ιδέα να επανα-βαθμονομήσετε την πυξίδα σας πριν πετάξετε ξανά.
  • Αφαιρέστε τις προπέλες σας όταν μεταφέρετε το drone σας (όπου επιτρέπεται).

Αποθήκευση

  • Αποθηκεύστε το drone σε ξηρό, δροσερό και μη μαγνητικό χώρο για να αποφύγετε τυχόν ζημιές.
  • Όταν το drone και η μπαταρία θα αποθηκευτούν για περισσότερο από 3 μήνες, αποθηκεύστε τα σε θερμοκρασία περίπου 25° C και αποφύγετε το άμεσο ηλιακό φως.
  • Η φόρτιση της μπαταρία πρέπει να είναι από 40% έως 65% πριν από την αποθήκευση (εκτός και αν ορίζει κάτι διαφορετικό ο κατασκευαστής). Η αποθήκευση μιας μπαταρίας με πλήρη ισχύ ή χαμηλή ισχύ για μεγάλο χρονικό διάστημα μπορεί να προκαλέσει μόνιμη ζημιά.

Προκαταρκτική προετοιμασία για drone που δεν έχετε προηγούμενη εμπειρία

  • Πριν πετάξετε, εξασκηθείτε στο προσομοιωτή (όπου υπάρχει) για τουλάχιστον δύο ώρες. Συνδέστε τα χειριστήρια και δώστε ιδιαίτερη προσοχή στον τρόπο αντίδρασης του drone.
  • Μελετήστε καλά το εγχειρίδιο χρήσης.
  • Στις πρώτες πτήσεις, μην πετάτε πάνω από 30-40 μ. Δώστε μεγάλη έμφαση στον χειρισμό του drone και όχι συμπληρωματικές λειτουργίες όπως η λήψη φωτογραφίας.
  • Κάντε πρακτική χρήση της λειτουργίας αυτόματης επιστροφής. Δείτε πώς λειτουργεί από πρώτο χέρι και πως μπορείτε να το αλλάξετε κατά τη διάρκεια της πτήσης.
  • Ρυθμίστε το υψόμετρο επιστροφής σε πάνω από 100 μέτρα και το μέγιστο όριο απόστασης πτήσης να είναι εντός των ορίων της συσκευής χειρισμού.
  • Προσέξτε για γραμμές ηλεκτρικού ρεύματος, καλώδια και κλαδιά δέντρων κατά τη διάρκεια της πτήσης και μην πετάτε προς τα πίσω ή αποφεύγετε το όσο το δυνατόν περισσότερο. Οι αισθητήρες αποφυγής εμποδίων δεν μπορούν να ανιχνεύσουν λεπτά αντικείμενα, οπότε θα πρέπει να τα αποφύγετε μόνοι σας. Ειδικά κατά τις πρώτες πτήσεις σας, είναι καλή ιδέα να είστε ακόμη πιο προσεκτικοί (ή και να έχετε δεύτερο παρατηρητή) γιατί οι αισθητήρες αποφυγής εμποδίων ίσως να μην είναι όσο καλοί όσο πιστεύετε (ειδικά σε συνθήκες χαμηλού φωτισμού / ορατότητας).
  • Όταν ξεκινάτε, χρησιμοποιήστε τη λειτουργία αυτόματης απογείωσης, αφήστε το drone να αιωρείται στο 1m για περίπου 30 δευτερόλεπτα. Αυτό βοηθά την μπαταρία να ζεσταθεί, και αν η μπαταρία έχει προβλήματα, θα τα παρατηρήσετε ενώ αιωρήται χωρίς ταχύτητα σε χαμηλό ύψος.

Βήματα για αποφυγή / περιορισμό περιπτώσεων όπου το drone θα βγει εκτός ελέγχου από απώλεια σήματος χειριστηρίου (flyaways)

Σύμφωνα διάφορα στοιχεία πτήσης χρηστών, η συντριπτική πλειοψηφία των flyaways προκαλούνται από πολλά κοινά σφάλματα χρήσης. Ακολουθούν κάποια βήματα που μπορείτε να ακολουθήσετε για να αποτρέψετε σε όσο το μεγαλύτερο βαθμό το συγκεκριμένο πρόβλημα.

Να ενεργοποιήσετε το χειριστήριο πρώτα και μετά το drone

Με το να είναι ενεργοποιημένο το χειριστήριο πριν από το drone μας δίνει μια επιπλέον εγγύηση ότι το drone θα παραμείνει στον έλεγχο μας κατά την διαδικασία προετοιμασίας.

Βεβαιωθείτε ότι έχει οριστεί ένα σημείο επιστροφής

Εάν θέλετε το drone σας να επιστρέψει αυτόματα σε κάποιο σημείο (συνήθως το σημείο από το οποίο ξεκίνησε), βεβαιωθείτε ότι έχει οριστεί το σημείο επιστροφής πριν απογειωθείτε. Για καλύτερη ακρίβεια, θα χρειαστείτε καλής ποιότητα σήμα GPS το οποίο ίσως χρειαστεί κάποια λεπτά να συγχρονίσει σωστά.

Προσέξτε για παρεμβολές πυξίδας

Το σήμα GPS είναι απαραίτητο, αλλά δεν επαρκεί για να πάει το drone στο σημείο επιστροφής με ασφάλεια. Η πυξίδα του drone σας πρέπει επίσης να είναι σχετικά ελεύθερη από παρεμβολές. Το GPS καθορίζει μόνο τη θέση του drone (και σε μερικές περιπτώσεις την ταχύτητα). η πυξίδα καθορίζει τον προσανατολισμό του. Εάν το drone προσπαθεί αυτόματα να παέι στο σημείο επιστροφής και δεν δουλεύει καλά η πυξίδα, δεν θα γνωρίζει προς τα που πρέπει να γυρίσει και μπορεί να καταλήξει να πετά προς λάθος διεύθυνση ή ασύμμετρους κύκλους.

Κάποιες εφαρμογές χειρισμού του drone θα σας προειδοποιήσουν εάν η παρεμβολή πυξίδας είναι υπερβολικά μεγάλη και ίσως να σας δείξουν και το μέγεθος των παρεμβολών. Τα πιο μοντέρνα μοντέλα drone κουβαλούν περισσότερες από μια πυξίδες για πλεονασμό σε περίπτωση που η παρεμβολή δεν είναι εξωτερική αλλά βλάβη της πυξίδας. Συστήνεται να επαναβαθμονούνται οι πυξίδες όταν δείχνουν μεγάλη παρεμβολή ή / και όταν αλλάζετε την περιοχή πτήσης σας και να μετακινήστε σε περιοχή με λιγότερες παρεμβολές (όπου επιτρέπεται).

Κρατήστε το drone μέσα στη γραμμή όρασης σας

Το drone σας είναι πολύ λιγότερο πιθανό να καταρρεύσει ή να χαθεί αν το βλέπετε με τα μάτια σας. Υπάρχουν σοβαροί λόγοι για τους οποίους η πτήση με οπτική επαφή περιλαμβάνεται στους κανόνες λειτουργίας της UAV της FAA. Η παρακολούθηση του drone μόνο μέσω της ζωντανής ροής βίντεο δεν είναι ποτέ καλή ιδέα. Εάν το κάνετε αυτό, δεν θα μπορείτε να δείτε τι είναι πίσω ή στα πλάγια του drone σας. Μερικές φορές, τα flyaways είναι απλά ατυχήματα που προκύπτουν από το να μην είναι ορατό το drone και να μην έχει καλή αντίληψη ο χειριστής για την κατάσταση της πτήσης.

Επαναφέρετε το σημείο επιστροφής εάν μετακινείστε

Το σημείο επιστροφής δεν θα επαναρυθμιστεί αυτόματα αν μετακινηθείτε. Εάν ταξιδεύετε, θα χρειαστεί να επαναφέρετε το σημείο επιστροφής σας περιοδικά.

Ορίστε ένα κατάλληλο ύψος για το σύστημα αυτόματης επιστροφής

Παρόλο που τα νεότερα drones διαθέτουν συστήματα όρασης που επιτρέπουν στα drones να πετάξουν γύρω από εμπόδια κατά τη διάρκεια της αυτόματης επιστροφής, εξακολουθεί να είναι καλή ιδέα να ορίσετε ένα Υψόμετρο Επιστροφής. Ένας καλός λόγο είναι ότι, οι αισθητήρες εμποδίων δεν λειτουργούν καλά σε συνθήκες χαμηλού φωτισμού και μπορεί να μην εντοπιστούν καθαρές επιφάνειες από γυαλί και νερό. Επίσης, οι αισθητήρες αποφυγής εμποδίων ενδέχεται να μην ανιχνεύουν λεπτά αντικείμενα όπως κλαδιά δέντρων ή γραμμές μεταφοράς ενέργειας.

Μετά τη πτήση, πρώτα να απενεργοποιήσετε το drone και μετά το χειριστήριο

Είναι μια καλή πρακτική για να ξέρουμε ότι σε καμία φάση της χρήσης δεν επιτρέψαμε στο drone να μην είναι υπό τον έλεγχο μας.

Πώς να πετάξετε με ασφάλεια πάνω από νερό

Τα υδάτινα περιβάλλοντα συχνά γεμίζουν με πιθανούς κινδύνους, όπως σκάφη, κύματα, ισχυρούς ανέμους και ακόμη και πτηνά. Σε γενικές γραμμές δεν ενθαρρύνουμε τις πτήσεις πάνω από το νερό, όμως υπάρχουν περιπτώσεις κατά τις οποίες θα πρέπει να γίνουν. Για τέτοιες περιπτώσεις, προσφέρουμε κάποιες εποικοδομητικές συμβουλές για το τι μπορείτε να κάνετε πριν και κατά τη διάρκεια της πτήσης σας πάνω από το νερό για να εξασφαλίσετε την ασφάλεια του drone σας.

Οι αρχάριοι πιλότοι πρέπει να απέχουν από πτήσεις πάνω από το νερό καθώς έχουν αυξημένο επίπεδο κίνδυνου σε σύγκριση με συμβατικές πτήσεις.

Απενεργοποίηση συστήματος οπτικού εντοπισμού θέσης (Visual Positioning System – VPS)

Κάποια drone είναι εφοδιασμένα με VPS, μια τεχνολογία που χαρτογραφεί την επιφάνεια κάτω από το drone για να το βοηθήσει στην αυτόματη τοποθέτηση του. Κατά την πτήση πάνω από το νερό, ωστόσο, το φως που αντανακλάται από την επιφάνεια μπορεί να προκαλέσει προβλήματα με αυτήν την τεχνολογία. Εξαιτίας αυτού, είναι καλύτερο να διατηρείτε ένα ύψος τουλάχιστον δύο μέτρων πάνω από το νερό. Αν πρέπει να πετάξετε κάτω από αυτό το ύψος, σας συνιστούμε να απενεργοποιήσετε το VPS για να αποφύγετε τυχόν ασταθείς ενέργειες από το drone.

Σχεδιάστε την φωτογραφική λήψη σας

Η πτήση πάνω από το νερό είναι πάντα επικίνδυνη, αλλά ο προσεκτικός σχεδιασμός πριν από την πτήση μπορεί να σας βοηθήσει να αποφύγετε τον κίνδυνο. Ο προγραμματισμός μιας φωτογραφικής λήψης πρέπει να περιλαμβάνει την εύρεση της σωστής θέσης και γωνίας για την απεικόνιση της ιδανικής εικόνας / βίντεο τόσο και ο καθορισμός των ρυθμίσεων λήψης. Όπου επιτρέπεται, πρέπει να εκτελούνται δοκιμαστικές λήψεις στη γη για να βεβαιωθείτε ότι η λήψη σας είναι υλοποιήσημη.

Ενεργοποιήστε το όριο μέγιστης απόστασης πτήσης

Παρόλο που μπορεί να είναι πιο εύκολο να πετάξετε μεγάλες αποστάσεις πάνω από το νερό, σας συνιστούμε να χρησιμοποιείτε πάντα το drone μέσα στην γραμμή όρασης σας. Αν σχεδιάζετε ένα πλάνο που απαιτεί πτήσεις μεγάλων αποστάσεων, ρυθμίσετε τη μέγιστη απόσταση πτήσης από την εφαρμογή διαχείρισης του drone, αλλά βεβαιωθείτε ότι τη διατηρείτε το όριο εντός της εμβέλειας των δυνατοτήτων του τηλεχειριστηρίου σας.

Πρακτική εξάσκηση

Για προφανείς λόγους, συνιστούμε να ασκήσετε πρώτα τις απογείωσεις, τις πτήσεις σας και τις προσγειώσεις σας στη γη, προτού ξεκινήσετε πάνω από το νερό. Η εξάσκηση θα σας επιτρέψει να εξοικειωθείτε με το drone και να ξέρετε τι συμπεριφορά θα περιμένετε.

Όταν πετάτε πάνω από το νερό, υπάρχουν συχνά δύο επιλογές: να ξεκινήσετε από τη γη ή να ξεκινήσετε από ένα σκάφος. Η απογείωση από τη γη δεν διαφέρει από την κανονική πτήση εδάφους. Όταν ξεκινάτε από ένα σκάφος, όμως, σας προτείνουμε να απογειωθείτε ενώ το σκάφος είναι αδρανές, καθώς θα είναι πιο σταθερό και ασφαλές. Η απογείωση από ένα κινούμενο σκάφος είναι δυνατή σε χαμηλές ταχύτητες, αλλά δεν συνιστάται.

Ενημερώστε το σημείο οικίας σας χειροκίνητα

Κατά την πτήση πάνω από τη γη, το σημείο εκκίνησης είναι συνήθως εκεί όπου απογειώθηκε το αεροσκάφος. Υπό ιδανικές συνθήκες, το αεροσκάφος θα χρησιμοποιήσει την πυξίδα και το GPS για αυτόματη καταγραφή ενός σημείου επιστροφής.

Η χρήση του αρχικού σημείου από ένα σκάφος μπορεί να είναι δύσκολη, καθώς τα σκάφη συχνά μετακινούνται ή κινούνται κατά τη διάρκεια της πτήσης. Εξαιτίας αυτού, μπορεί να χρειαστεί να επαναφέρετε το σημείο επιστροφής.

Αποφύγετε Εμπόδια

Πολλά εμπόδια μπορούν να θέσουν σε κίνδυνο το ταξίδι σας πάνω από το νερό, ας ρίξουμε μια ματιά σε μερικά από αυτά που πρέπει να προσέξετε στο μέγιστο:

Αντικείμενα που παρεμποδίζουν την πυξίδα ή το σήμα GPS

Ισχυρά σήματα πυξίδας και GPS είναι απαραίτητα όταν χειρίζεστε ένα drone. Βεβαιωθείτε ότι αποφεύγετε αντικείμενα ή δομές που ενδέχεται να επηρεάσουν το σήμα σας. Αυτά περιλαμβάνουν μεγάλα αντικείμενα όπως φάρους και πλοία μεταφοράς εμπορευματοκιβωτίων ή οποιαδήποτε συσκευή που χρησιμοποιεί κεραίες, μαγνήτες ή Wi-Fi.

Φυσικά αντικείμενα

Όταν πετάτε σε περιοχές κοντά στο νερό, βεβαιωθείτε ότι αποφεύγετε τα δέντρα, τους βράχους ή οποιαδήποτε άλλη φυσική δομή κοντά. Επίσης δώστειδιαίτερη προσοχή στα πτηνά γιατί ίσως επιδείξουν επιθετική συμπεριφορά προς τα drone.

Κύματα

Τα κύματα μπορεί να είναι επικίνδυνα όταν πετάτε πολύ κοντά στην επιφάνεια του νερού, απαιτούν γρήγορα αντανακλαστικά για αποφυγή ζημιών. Βεβαιωθείτε ότι έχετε μείνει αρκετά μακριά από την επιφάνεια του νερού για να αποφύγετε αυτό το ζήτημα εντελώς.

Σκάφη

Τα σκάφη όλων των μεγεθών ενδέχεται να είναι επικίνδυνα για τα αεροσκάφη. Μην πετάτε πολύ κοντά σε οποιαδήποτε βάρκα, και ως πρόσθετη προφύλαξη, ρυθμίστε το ύψος επιστροφής σας υψηλότερα κάθε φορά που πετάτε κοντά σε ένα σκάφος (ειδικά ένα κρουαζιερόπλοιο ή πλοίο μεταφοράς εμπορευματοκιβωτίων).

Βεβαιωθείτε ότι έχετε προσέξει αυτά και άλλα εμπόδια κατά τη διάρκεια της πτήσης σας πάνω από το νερό. Εάν παρατηρήσετε πιθανούς κινδύνους, συνιστάται πάντα να κρατάτε το drone σας στη γη και να περιμένετε για ασφαλέστερο χρόνο για να πετάξετε.

Προκαθορισμένη / κλειδωμένη διαδρομή (όπου ισχύει)

Ένας από τους πιο χρήσιμους τρόπους για πτήση πάνω από το νερό είναι το κλείδωμα / προκαθορισμός διαδρομής, ο οποίος επιτρέπει στους χρήστες να σχεδιάσουν μια διαδρομή πτήσης. Το drone μπορεί στη συνέχεια να πετάξει αυτόματα, δίνοντας στους χρήστες περισσότερη ελευθερία να επικεντρωθούν στο να εκτελέσουν την φωτογραφική λήψη.

Να είστε ενήμεροι για την ταχύτητα του ανέμου – θα επηρεάσει το επίπεδο φόρτισης μπαταρίας

Οι ισχυροί άνεμοι μπορεί να οδηγήσουν σε αστάθεια των drone κατά την πτήση. Οι ισχυροί άνεμοι μπορούν επίσης να προκαλέσουν γρήγορη πτώση των επιπέδων φόρτισης της μπαταρίας. Δυστυχώς, ο άνεμος είναι δύσκολο να αποφευχθεί, και όσο ψηλότερα πηγαίνεις, τόσο πιο ισχυρός μπορεί να γίνει. Εάν παρατηρήσετε ισχυρούς ανέμους στο έδαφος, είναι ασφαλές να υποθέσετε ότι υπάρχουν ακόμα πιο ισχυρότεροι άνεμοι στον αέρα και ίσως θελήσετε να εξετάσετε την καθυστέρηση της πτήσης σας.

Για να υπολογίσετε την ένταση του ανέμου μπορείτε να παρατηρήσετε την κλίση που έχει το drone στον αέρα, αν είναι πολύ μεγάλη χωρίς να δίνετε εσείς την αντίστοιχη οδηγία ίσως να είναι καλύτερο να προσγειώσετε το drone.

Πτήση σε ψηλές θερμοκρασίες

Είναι σημαντικό να έχετε υπόψη σας ότι συνήθως τα drone δεν πρέπει να λειτουργούν σε θερμοκρασίες περιβάλλοντος πέραν των 40° C (εκτός και αν ορίζει κάτι άλλο ο κατασκευαστής). Κατά την διάρκεια της πτήσης, το σώμα, η μπαταρία και οι μηχανές του drone ζεσταίνονται το καθένα σε διαφορετικό επίπεδο, πράγμα το οποίο είναι φυσιολογικό. Το drone μπορεί να λειτουργήσει με ασφάλεια όταν η θερμοκρασία περιβάλλοντος δεν ξεπερνά τους 40° C. Σε αντίθετη περίπτωση το drone σας μπορεί να υποστεί ζημιά. Σημαντικό να έχετε υπόψη, η μπαταρία μπορεί να αποφορτιστεί πολύ πιο γρήγορα σε ψηλές θερμοκρασίες.

Όταν προσγειώσετε το drone σας για αλλαγή μπαταρίας, εισηγούμαστε να το αφήσετε για κάποιο χρόνο να μειωθεί η θερμοκρασία του πριν το απογειώσετε και πάλι.

Για να αποφύγετε τον ατμό στους φακούς σας, πρέπει να αφήνετε το drone για κάποιο χρόνο να ζεσταθεί από το φυσικό περιβάλλον όταν το βγάζετε από κλιματιζόμενο περιβάλλον (χωρίς να το αφήσετε εκτεθειμένο άμεσα στον ήλιο).

Λόγω της έντονης ηλιακής ακτινοβολίας ίσως δυσκολευτείτε να παρακολουθήσετε την οθόνη της συσκευής χειρισμού, εισηγούμαστε να έχετε μαζί σας κάποιο προστατευτικό υλικό να κάνει σκιά στο χειριστήριο και την οθόνη. Παίρνωντας αυτό το μέτρο, θα προστατέψετε καλύτερα τις συσκευές σας παρατείνοντας την διάρκεια ζωής τους.

Συνήθως οι έξυπνες συσκευές μειώνουν την ικανότητα επεξεργασίας τους όταν ζεσταθούν, αυτό μπορεί να προκαλέσει μείωση της ποιότητας λήψης εικόνας ή και καθυστέρηση στη λήψη. Αν σας συμβεί κάτι τέτοιο εισηγούμαστε να προσγειώσετε το drone σας και να αφήσετε τις συσκευές σε σκιά να μειωθεί η θερμοκρασία τους. Σαν μέτρο πρόληψης να κλείνετε από πριν όλες τις εφαρμογές που δεν χρειάζεστε για την πτήση σας.

Προετοιμασία Πτήσης

  • Κάντε τον έλεγχο συντήρησης και χειρισμού του drone
  • Εξασκήστε σε ελεγχόμενο περιβάλλον ή σε περιβάλλον με καλές συνθήκες τις κινήσεις που θα εφαρμόσετε στην πτήση
  • Μελετήστε την αντίστοιχη νομοθεσία της περιοχής της πτήσης και εξασφαλίστε τις αντίστοιχες άδειες
  • Προγραμματίστε την πτήση βάση των καιρικών συνθηκών (αέρα, θερμοκρασία, ηλιοφάνεια κτλ), της ώρας / θέσης ήλιου και την ύπαρξη κοινού στην περιοχή πτήσης
  • Καταγράψτε στο ιστορικό πτήσης τα πιο πάνω στοιχεία, συμπεριλαμβανομένου του αρχικού και τελικού επιπέδου φόρτισης της μπαταρίας πριν από κάθε πτήση
  • Μελετήστε την περιοχή πτήση από χάρτες ή ηλεκτρονικά μέσα
  • Βεβαιωθείτε ότι έχετε καλή λήψη GPS και ότι οι πυξίδες σας δεν αντιμετωπίζουν παρεμβολές
  • Να έχετε οπτική επαφή κατά τη διάρκεια της πτήσης. Πάντα υπάρχει ο κίνδυνος απώλειας της ροής video αλλά ούτε σας προσφέρει γνώση για το τι συμβαίνει γύρο από το drone.
  • Ορίστε το μέγιστο όριο πτήσης, το υψόμετρο επιστροφής και το σημείο επιστροφής.
  • Να προσγειώνετε το drone σας με επίπεδο μπαταρίας τουλάχιστον 30% για να έχετε επιπλέον ενέργεια και χρόνο στον αέρα σε περίπτωση που συμβεί κάποιο εκτός ελέγχου περιστατικό (ξαφνικός δυνατός άνεμος).

Τι πρέπει να κάνετε μετά απο συντριβή

Πρώτα απ ‘όλα, προσπαθήστε να ανακτήσετε το drone. Κατά την ανάκτηση του drone σας, επιθεωρήστε το για ζημιά. Λάβετε υπόψη σας τις ζημιές που μπορείτε να δείτε και να τις έχετε ως αναφορά σε περίπτωση που χρειαστεί να επικοινωνήσετε με τον κατασκευαστή. Παρακάτω είναι μερικά χρήσιμα βήματα που μπορείτε να ακολουθήσετε μετά την ανάκτηση του drone σας από το σημείο σύγκρουσης:

Συντήρηση

  1. Απενεργοποιήστε το drone και μετά το χειριστήριο, ακολούθως αφαιρέστε την μπαταρία και τους έλικες
  2. Καθαρίστε όλες τις βρομιές / άμμο / θραύσματα από το drone χρησιμοποιώντας αλκοόλ σε βαμβάκι
  3. Γυρίστε με το χέρι τους κινητήρες ενώ το drone είναι ανάποδα για να απομακρύνετε τυχόν άμμο / ακαθαρσίες και στη συνέχεια φυσήξτε σε κάθε ένα (ή χρησιμοποιήστε πεπιεσμένο αέρα) για να αφαιρέσετε τυχόν υπόλοιπες ακαθαρσίες
  4. Ελέγξτε για την εμβέλεια της κίνησης του αντίζυγου (gimbal), δείτε αν έχει ρωγμές και σπασμένα μέρη
  5. Ελέγξτε την κάμερα για ρωγμές ή χαλαρά καλώδια
  6. Ελέγξτε τη μπαταρία για ζημιές στη δομή
  7. Ελέγξτε του έλικες για τυχόν ρωγμές ή παραμορφώσεις. Αντικαταστήστε τους έλικες που παρουσιάζουν σημεία βλάβης
  8. Ελέγξτε ολόκληρο το σώμα για ρωγμές και σπασίματα συμπεριλαμβανομένου του συστήματος προσγείωσης
  9. Ελέγξτε κάθε κινητήρα για να βεβαιωθείτε ότι ήταν σωστά τοποθετημένος και δεν είναι χαλαρός (συμπεριλαμβανομένων όλων των βιδών)
  10. Βγάλτε άμμο / σκουπίδια / σκόνη έξω από κάθε κινούμενο μέρος (και πάλι)

Επανεκκίνηση

  1. Επανατοποθετήστε την μπαταρία στη θήκη όταν ολοκληρώσετε τον ενδελεχή έλεγχο / καθαρισμό
  2. Επανεκκινήστε το drone σε μια επίπεδη επιφάνεια και αφήστε το να εκτελέσει την διαδικασία εκκίνησης
  3. Βαθμονομίστε την πυξίδα και στη συνέχεια το IMU
  4. Ελέγξτε το αντίζυγο (gimbal) για πλήρες εύρος κίνησης χρησιμοποιώντας τον έλεγχο αντίζυγου (gimbal)
  5. Ξεκινήστε τους κινητήρες χωρίς έλικες και ελέγξτε για τυχόν ταλάντωση
  6. Τερματίστε ξανά τους κινητήρες, συνδέστε τους έλικες, επανεκκινήστε τους κινητήρες και επανελέγξτε ξανά για ταλάντωση για να βεβαιωθείτε ότι δεν έχει χαλαρώσει η δομή
  7. Αφήστε το drone να αιωρηθεί σε χαμηλό ύψος, λίγο πάνω από το επίπεδο των ματιών και ελέγξτε για παράξενη κίνηση / κούνημα
  8. Κατά την εγγραφή βίντεο, κάνετε βασικούς ελιγμούς (προς τα εμπρός, προς τα πίσω, προς τα αριστερά, προς τα δεξιά, προς τα αριστερά, προς τα δεξιά, προς τα πάνω, προς τα κάτω). Ελέγξτε το βίντεο για να βεβαιωθείτε ότι είναι καθαρό και χωρίς τρεμούλιασμα.
  9. Κάνετε μια πτήση μεγάλης απόστασης χαμηλά και αργά (όχι πάνω από το νερό) για να διασφαλίσετε ότι όλα λειτουργούν καλά

How to create a video from an audio file and an image using ffmpeg

Recently, we had this audio file ( mp3) that we wanted to upload to youtube.com. As it is known, youtube does not allow uploading audio files. Taking that into consideration we had to create a video with a static image just to upload the audio file to youtube. To do that, we used ffmpeg and the following command:

ffmpeg -loop 1 -i Saturday.png -i 20181020.mp3 -shortest -acodec copy 20181020.mp4;


How we concatenate multiple mp3 files into one using ffmpeg

Recently, we needed to concatenate multiple mp3 files into one. We had at our disposal a machine that had ffmpeg installed.
To perform the merge, we created a list (separated by the character |) of the mp3 files, in the order we wanted them merged and executed the concat operation of ffmpeg to complete our task. Our resulting command was the following

ffmpeg -i "concat:20181021_080743.MP3|20181021_090745.MP3|20181021_100745.MP3" -acodec copy 20181021.mp3


LibreOffice Calc: Get workbook path only

Get workbook path only

For Linux and Mac

=LEFT(
  CELL("filename"),
  FIND(
    CHAR(1),
    SUBSTITUTE(
      CELL("filename"),
      "/",
      CHAR(1),
      LEN(CELL("filename")) - LEN(
        SUBSTITUTE(
          CELL("filename"),
          "/",
          ""
        )
      )
    )
  ) -1
)&"'"

For Windows

=LEFT(
  CELL("filename"),
  FIND(
    CHAR(1),
    SUBSTITUTE(
      CELL("filename"),
      "\",
      CHAR(1),
      LEN(CELL("filename")) - LEN(
        SUBSTITUTE(
          CELL("filename"),
          "\",
          ""
        )
      )
    )
  ) -1
)&"'"

Bonus

If you want to remove the ' characters as well that are around the filename and path use the following  solution, this will allow you to create hyperlinks for the folders as well

=REPLACE(
  LEFT(
    CELL("filename"),
    FIND(CHAR(1),
      SUBSTITUTE(
        CELL("filename"),
        "/",
        CHAR(1),
        LEN(CELL("filename")) - LEN(
          SUBSTITUTE(
            CELL("filename"),
            "/",
            ""
          )
        )
      )
    ) -1
  )
  ,1,1,""
)

To create hyperlink as well, use the following

=HYPERLINK(
  REPLACE(
    LEFT(
      CELL("filename"),
      FIND(CHAR(1),
        SUBSTITUTE(
          CELL("filename"),
          "/",
          CHAR(1),
          LEN(CELL("filename")) - LEN(
            SUBSTITUTE(
              CELL("filename"),
              "/",
              ""
            )
          )
        )
      ) -1
    )
    ,1,1,""
  )
)