---
# System prepended metadata

title: 無題
tags: [ハッカソン]

---

###### tags: `ハッカソン`
# 無題

```shell=
sudo apt update
sudo apt upgrade
sudo apt install python3-pip libglib2.0-dev
sudo pip3 install bluepy
sudo apt install postfix
sudo apt install python3-pandas
# インターネットサイト->了解
```
bluetooth は検出可能にしておく。
```shell=
crontab -e

* * * * * sudo /usr/bin/python3 /home/pi/Desktop/blue_scan/scan.py > /home/pi/Desktop/blue_scan/log.txt
```

---

```shell=
ssh pi@raspberrypi.local
ssh-keygen -R raspberrypi.local

sudo date --set="2021-04-20 10:40:30"
```

```python=
import bluepy

scanner = bluepy.btle.Scanner(0)
devices = scanner.scan(3)

for device in devices:
  print('======================================================')
  print('address : %s' % device.addr)
  print('addrType: %s' % device.addrType)
  print('RSSI    : %s' % device.rssi)
  print('Adv data:')
  for (adtype, desc, value) in device.getScanData():
    print(' (%3s) %s : %s ' % (adtype, desc, value))
```

---

```shell=
sudo hciconfig hci0 down && sudo hciconfig hci0 up
```

```python=
data = [date,opening_price,closing_price,Volume]
df = pd.read_csv('./log.csv')
mycsv = df.sort_values('date')
d = pd.Series(data, index=df.columns)
mycsv=mycsv.append(data, ignore_index=True)
mycsv=mycsv.reset_index(drop=True)
mycsv.to_csv('./log.csv')
```

```python=
import bluepy
import pandas as pd
import datetime

scanner = bluepy.btle.Scanner(0)
devices = scanner.scan(3)

now_t = datetime.datetime.now()

count = 0
for device in devices:
  df_t = now_t.strftime('%Y-%m-%d %H:%M')
  addr = device.addr
  rssi = device.rssi
  count += 1
  for (adtype, desc, value) in device.getScanData():
    if desc == "Manufacturer":
       value = value

       data = pd.DataFrame([[df_t,addr,rssi,value]])
       data.to_csv("/home/pi/Desktop/blue_scan/log.csv",index=False,encoding='utf-8', mode='a', header=False)

print(str(now_t) + ' : ' + str(count))
```

```python=
import bluepy

scanner = bluepy.btle.Scanner(0)
devices = scanner.scan(3)

count = 0
for device in devices:
    if device.rssi 
	count += 1

print(count)
```

```python=
import bluepy
import pandas as pd

scanner = bluepy.btle.Scanner(0)
devices = scanner.scan(3)

df = pd.read_csv('./data.csv')

for device in devices:
  print('address : %s' % device.addr)
  print('addrType: %s' % device.addrType)
  print('RSSI    : %s' % device.rssi)
  print('Adv data:')
  for (adtype, desc, value) in device.getScanData():
    print(' (%3s) %s : %s ' % (adtype, desc, value))
```

---

```python=
from scapy.all import *

probe_list = []

ap_name = input("Enter the name of access point")

def Probe_info(pkt):
   if pkt.haslayer(Dot11ProbeReq):
      client_name = pkt.info

      if client_name == ap_name:
         if pkt.addr2 not in Probe_info:
            Print("New Probe request--", client_name)
            Print("MAC is --", pkt.addr2)
            Probe_list.append(pkt.addr2)

sniff(iface = "mon0", prn = Probe_info)
```

```python=
	peripheral = btle.Peripheral(MAC_ADDRESS)
for service in peripheral.getServices():
    print(f'UUID：{service.uuid}')
    for characteristic in service.getCharacteristics():
        print(f'  UUID：{characteristic.uuid}')
        print(f'    ハンドル：{characteristic.getHandle()}')
        print(f'    プロパティ：{characteristic.propertiesToString()}')

```