Skip to content

Raspberry Pi weather monitor for Ambient Weather F007-TH sensors

Notifications You must be signed in to change notification settings

floone/weathermon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

weathermon

Raspberry Pi-based weather monitor for Ambient Weather F007-TH sensors.

Listens to RF signals from the F007-TH sensors using a 434MHz reciever, tracks weather data, and serves a weather site written in Flask. Also sold as TFA sensor 30.3208.02.

F007-TH Data Encoding Format

  • RF communication at 434MHz

  • Uses Manchester Encoding ( '1' represented by high --> low transition)

  • bit time = 1ms

  • 195 bit frame, 65 bit packet repeated 3 times

  • frames sent every ~1 min (varies by channel)

    • Map of channel id to transmission interval: {1: 53s, 2: 57s, 3: 59s, 4: 61s, 5: 67s, 6: 71s, 7: 73s, 8: 79s}
    • Source: github.com/gr-ambient
  • Packet Format

    • header: all 1s, with final 01 before data starts
    • 8 bit sensor ID: F007th = Ox45
    • 8 bit random ID: resets each time the battery is changed
    • 1 bit low battery indicator: 1 ==> low battery
    • 3 bit channel number: channel 1-8 represented as binary 0-7, selectable on F007th unit using dip switches on back
    • 12 bit temperature data:
      • To Farenheit: subtract 400 and divide by 10 e.g. 010001001011 => 1099, (1099-400) / 10 = 69.9F
      • To Celsius: subtract 720 and multiply by 0.0556 e.g. (1099 - 720) * 0.0556 = 21.1C
    • 8 bit humidity data: relative humidity as integer
    • 8 bit checksum: cracked by Ron (BaronVonSchnowzer on Arduino forum)
    • padding: some 0s to fill out packet

Sample Data:

0        1        2        3        4        5        6        7
FD       45       4F       04       4B       0B       52       0
0   1    2   3    4   5    6   7    8   9    A   B    C   D    E
11111101 01000101 01001111 00000100 01001011 00001011 01010010 0000
header   sensorid randomid BCh#temp_perature humidity checksum xxxx
                           ^ battery, channel number

Translates to: Channel 1 F007th sensor displaying 21.1 Centigrade and 11% RH

About

Raspberry Pi weather monitor for Ambient Weather F007-TH sensors

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 44.4%
  • Python 28.0%
  • C 26.2%
  • Makefile 1.4%