Werte von Python an Java senden

Diskutiere Werte von Python an Java senden im Scriptsprachen Forum; Am einfachsten wäre wohl, wenn deine Java-Anwendung ein kleiner Server ist. Gibt genügend Microframeworks dafür, siehe hier:...

  1. dzim
    dzim Bekanntes Mitglied
     
  2. mihe7
    mihe7 Bekanntes Mitglied
    Normalerweise empfehle ich das nicht, aber da es im Endeffekt nur einen Client gibt, wäre eine eigene Server-Implementierung durchaus ein gangbarer Weg. Beispiele dafür gibt es wie Sand am Meer, z. B. https://de.wikibooks.org/wiki/Java_Standard:_Socket_und_ServerSocket_(java.net)

    Davon und der Python-Doku abgeleitet:
    Code (Java):

    import java.io.*;
    import java.net.*;

    public class Server {
        public static void main(String[] args) throws Exception {
            ServerSocket ss = new ServerSocket(8084);
            Socket client = ss.accept();
            try(BufferedReader reader = new BufferedReader(
                    new InputStreamReader(client.getInputStream()))) {
                System.out.println(reader.readLine());
            }
        }
    }
     
    bzw.
    Code (Python):

    import socket

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(("localhost", 8084))
    s.send("1234567890\n")
     
     
  3. Elias177
    Elias177 Neues Mitglied
    Ich habe es mal getestet es funktioniert auch aber sobald ich es in das Script vom RFID Card Reader schreibe spuckt er errors aus :(

    Pythonscript:
    Code (Python):
    #!/usr/bin/env python
    # -*- coding: utf8 -*-
    #
    #    Copyright 2014,2018 Mario Gomez <mario.gomez@teubi.co>
    #
    #    This file is part of MFRC522-Python
    #    MFRC522-Python is a simple Python implementation for
    #    the MFRC522 NFC Card Reader for the Raspberry Pi.
    #
    #    MFRC522-Python is free software: you can redistribute it and/or modify
    #    it under the terms of the GNU Lesser General Public License as published by
    #    the Free Software Foundation, either version 3 of the License, or
    #    (at your option) any later version.
    #
    #    MFRC522-Python is distributed in the hope that it will be useful,
    #    but WITHOUT ANY WARRANTY; without even the implied warranty of
    #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #    GNU Lesser General Public License for more details.
    #
    #    You should have received a copy of the GNU Lesser General Public License
    #    along with MFRC522-Python.  If not, see <http://www.gnu.org/licenses/>.
    #

    import RPi.GPIO as GPIO
    import MFRC522
    import socket
    import signal

    continue_reading = True

    # Capture SIGINT for cleanup when the script is aborted
    def end_read(signal,frame):
        global continue_reading
        print "Ctrl+C captured, ending read."
        continue_reading = False
        GPIO.cleanup()

    # Hook the SIGINT
    signal.signal(signal.SIGINT, end_read)

    # Create an object of the class MFRC522
    MIFAREReader = MFRC522.MFRC522()

    # Welcome message
    print "Welcome to the MFRC522 data read example"
    print "Press Ctrl-C to stop."

    # This loop keeps checking for chips. If one is near it will get the UID and authenticate
    while continue_reading:
     
        # Scan for cards
        (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)

        # If a card is found
        if status == MIFAREReader.MI_OK:
            print "Card detected"
     
        # Get the UID of the card
        (status,uid) = MIFAREReader.MFRC522_Anticoll()
     
        # If we have the UID, continue
        if status == MIFAREReader.MI_OK:
     
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.connect(("localhost", 177))
            s.send("1234567890\n")
     
            # Print UID
            print "Card read UID: %s,%s,%s,%s" % (uid[0], uid[1], uid[2], uid[3])
       
     
            # This is the default key for authentication
            key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]
       
            # Select the scanned tag
            MIFAREReader.MFRC522_SelectTag(uid)

            # Authenticate
            status = MIFAREReader.MFRC522_Auth(MIFAREReader.PICC_AUTHENT1A, 8, key, uid)

            # Check if authenticated
            if status == MIFAREReader.MI_OK:
                MIFAREReader.MFRC522_Read(8)
                MIFAREReader.MFRC522_StopCrypto1()
            else:
                print "Authentication error"

     
    Error:
    Code (Text):
    pi@raspberrypi:~/Desktop $ sudo python Read.py
      File "Read.py", line 69
        print "Card read UID: %s,%s,%s,%s" % (uid[0], uid[1], uid[2], uid[3])
                                                                            ^
    IndentationError: unindent does not match any outer indentation level
    pi@raspberrypi:~/Desktop $
     
     
  4. mihe7
    mihe7 Bekanntes Mitglied
    Diesbezüglich wirst Du in einem Python-Forum besser aufgehoben sein.
     
  5. Hinweis: Du möchtest Java lernen? Vielleicht hilft dir dieser Kurs hier weiter. Sichere dir hier den Zugriff auf umfangreiches Java-Know How und starte richtig durch!
Die Seite wird geladen...

Werte von Python an Java senden - Ähnliche Themen

werte von objekten in schleife verändern
werte von objekten in schleife verändern im Forum Java Basics - Anfänger-Themen
10 höchsten Werte aus einer Tabelle ermitteln
10 höchsten Werte aus einer Tabelle ermitteln im Forum Datenbankprogrammierung
Schleife mit 10 Wiederholungen die Werte überspringt
Schleife mit 10 Wiederholungen die Werte überspringt im Forum Java Basics - Anfänger-Themen
werte von einem Objekt aus ein anderes übertragen
werte von einem Objekt aus ein anderes übertragen im Forum Java Basics - Anfänger-Themen
Gefülltes Array wird mit nullwerten übergeben
Gefülltes Array wird mit nullwerten übergeben im Forum Java Basics - Anfänger-Themen
Thema: Werte von Python an Java senden