# Course Wiki
The course wiki for 1DT305 Tillämpad IoT.
**@everyone Please edit and add information as needed.**
[TOC]
## Common problems during setup
## Platforms
### Pybytes
#### WiFi is not working with Pybytes
When setting up WiFi connection using the Pybytes firmware, the SSID or password doesn't seem to accept either spaces or Swedish letters.
### Windows
1. Updating Expansion board
* Some people have troubles updating firmware on Windows. The problem can vary but common suggestions are the followng:
* update a board without a pycom device attached to it
* there are two modes a device can be in DFU bootloader (update mode) Application firmware (normal mode). Update it only when it is in update mode. To get into the update mode you need to push ***S1*** button before powering the device.Then power it up and wait 1 second after. You will have only a couple of seconds in this mode after that the device will return into ***normal mode***
* try to understand the instructions on [Update Firmware page](https://docs.pycom.io/pytrackpysense/installation/firmware/) rather then blindly follow it. There are some things you may be willing to know in advance. Besides some steps can be not that obvious
* [Another related troubleshooting link](https://forum.pycom.io/topic/3148/expansion-board-v3-0-doesn-t-go-in-dfu-mode)
* If you have troubles updating or just prefer not to risk if it seems too complicated you most likely can skip updating as the device still be working fine.
### Mac
#### Updating expansionboard on MacOS Catalina
It's an unsolved problem (2020-06-16) that ``` cannot set alt interface zero ``` . One solution is not to update the expansion board at all, as it is likely already updated. Or, use another computer for the update. It has also showed successful booting the Mac into Windows with bootcamp.
### Linux
1. Permission problems
* Devices usually appears as /dev/ttyACM0 files. To make it work you need to get full permisions to the file. Although setting the permisions manually will work it is naive and clumsy way of solving the problem and we don't recommend it. The correct way of solving is adding a user to a group which has permisions to the file. For Debian/Ubuntu base distributions it is usually ***dialout*** group.
```bash
ls -l /dev/ttyACM0 # Command to check current permissons
```
## External resources
### Online stores
- [Electrokit](electrokit.com)
## Learning material, crowdsourced
- [Good video about LoRaWAN, Spiess](https://www.youtube.com/watch?v=hMOwbNUpDQA=)
- [Update of Pycom FW, Windows](https://www.youtube.com/watch?v=FkycTZvj-ss)
## Discord (WIP)
### General tips
##### Change nickname
One can easily change their nickname by right-clicking on their name and press "change nickname".
##### Add emojis to channel names
You need to use the Unicode and not discord emojis to be able to have emojis in the channel title. Best resource is emojipedia.org.
##### Role order matters
Not only does the role permissions you set in the channel settings matter, but the order in which you place them determines their "rank" - the highest rank is what determines your name colour in the chat - and is also important to set carl-bot higher than a specific role you want him to hand out.
### Bots
To access each bot's interface you need to be admin.
#### Carl.gg
This is a very powerful bot, with many functions - but requires some time to get used to all the options available.
The functions currently in use are:
- Reaction roles
- DM on join
- Embeds
#### Statbot.net
A very easy-to-use bot for gathering valuable statistics about member flow, active hours, voice time and messages - and you can also see a dashbord for each user as well.
To download a .csv file you need to press the "hamburger" icon on the chart you wish to download from, there you can also download .png etc.
#### [MEE6](https://mee6.xyz/)
Mainly used for the level-system. A fun system which rewards message activity by giving them XP on each minute they're messaging.
To see the server's leaderbord do !levels and for a specific person's rank do !rank name.