Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Definitionen
- id = 0
- sda = 3 --GPIO0
- scl = 4 --GPIO2
- dev_addr = 0x68 --Addr des Gyros
- --print("IIC init")
- --I2C initialisieren
- i2c.setup(id, sda, scl, i2c.SLOW)
- --print("Wake")
- --MPU aufwecken
- i2c.start(id)
- i2c.address(id, dev_addr, i2c.TRANSMITTER)
- i2c.write(id, 0x6b)
- i2c.write(id, 0x00)
- -- Selbsttest Gyro
- --i2c.start(id)
- --i2c.address(id, dev_addr, i2c.TRANSMITTER)
- --i2c.write(id, 0x1b)
- --i2c.write(id, 0b01000000)
- --i2c.stop(id)
- --print("Gyro init")
- --Gyro einstellen auf 250Grad/sek
- i2c.start(id)
- i2c.address(id, dev_addr, i2c.TRANSMITTER)
- i2c.write(id, 0x1b)
- i2c.write(id, 0)
- i2c.stop(id)
- --print("Funktion")
- --Funktion zum Auslesen eines Registers
- function read_reg(reg_addr)
- --print("debug")
- i2c.start(id)
- i2c.address(id, dev_addr, i2c.TRANSMITTER)
- i2c.write(id, reg_addr)
- i2c.stop(id)
- i2c.start(id)
- i2c.address(id, dev_addr, i2c.RECEIVER)
- c = i2c.read(id, 1)
- i2c.stop(id)
- return c
- end
- -- Chance auf Reset (MPU abstecken, neustarten, Programm endet hier
- if (string.byte(read_reg(0x75)) == 104) then
- ---##################################
- ---##################################
- print("ESP8266 Server")
- wifi.setmode(wifi.STATIONAP);
- wifi.ap.config({ssid="test",pwd="12345678"});
- print("Server IP Address:",wifi.ap.getip())
- sv = net.createServer(net.TCP)
- sv:listen(80, function(conn)
- conn:on("receive", function(conn, rd)
- print(rd)
- end)
- local function send()
- print ("jetzt senden")
- conn:send(readdata())
- end
- conn:on("sent", send)
- conn:send(readdata())
- collectgarbage()
- end)
- end
- ---##################################
- readdata = function()
- Gyro1 = (string.byte(read_reg( 0x45)))*256
- Gyro2 = string.byte(read_reg( 0x46))
- Gyro = fillvalue(Gyro1 + Gyro2)
- AccX1 = (string.byte(read_reg( 0x3B)))*256
- AccX2 = string.byte(read_reg( 0x3C))
- AccX = fillvalue(AccX1 + AccX2)
- AccZ1 = (string.byte(read_reg( 0x3F)))*256
- AccZ2 = string.byte(read_reg( 0x40))
- AccZ = fillvalue(AccZ1 + AccZ2)
- out = Gyro .. ";" .. AccX .. ";" .. AccZ
- return out
- end
- ---##################################
- fillvalue = function(startvalue)
- endvalue = startvalue
- tostring(endvalue)
- while (string.len(endvalue) < 5) do
- endvalue = ("0" .. endvalue)
- end
- return endvalue
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement